コード例 #1
0
        public void DeserializeTo(object model, ExcelPackage package)
        {
            if (model == null)
            {
                throw new ArgumentNullException(nameof(model));
            }

            if (ReflectionHelper.GetIsCollection(model.GetType(), out var itemType, false))
            {
                var rawCollection = XlsCollectionDeserializerCore.DeserializeCollection(itemType,
                                                                                        XlsSheetSerializerCore.GetDefaultWorksheet(package), () => Activator.CreateInstance(itemType), 0,
                                                                                        0, m_settings);

                ReflectionHelper.PopulateCollection(rawCollection, model);

                return;
            }

            if (!XlsWorkbookDeserializerCore.DeserializeWorkbook(model, package.Workbook, m_settings))
            {
                XlsSheetDeserializerCore.Deserialize(model,
                                                     XlsSheetSerializerCore.GetDefaultWorksheet(package),
                                                     m_settings);
            }
        }
コード例 #2
0
        public void Serialize(object model, ExcelPackage package)
        {
            if (model == null)
            {
                return;
            }

            if (ReflectionHelper.GetIsCollection(model.GetType(), out var itemType, true))
            {
                XlsCollectionSerializerCore.SerializeCollection(itemType, (IEnumerable)model, XlsSheetSerializerCore.GetDefaultWorksheet(package), 0, 0, m_settings);
                return;
            }

            XlsWorkbookSerializerCore.SerializeWorkbook(model, package.Workbook, m_settings);
        }