CN109684609B - 一种基于ASP.NET MVC的Excel模板生成及数据转换和导入方法 - Google Patents
一种基于ASP.NET MVC的Excel模板生成及数据转换和导入方法 Download PDFInfo
- Publication number
- CN109684609B CN109684609B CN201811433581.2A CN201811433581A CN109684609B CN 109684609 B CN109684609 B CN 109684609B CN 201811433581 A CN201811433581 A CN 201811433581A CN 109684609 B CN109684609 B CN 109684609B
- Authority
- CN
- China
- Prior art keywords
- data
- import
- excel
- invalid
- template
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/10—Text processing
- G06F40/166—Editing, e.g. inserting or deleting
- G06F40/186—Templates
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/10—Text processing
- G06F40/12—Use of codes for handling textual entities
- G06F40/151—Transformation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/10—Text processing
- G06F40/166—Editing, e.g. inserting or deleting
- G06F40/177—Editing, e.g. inserting or deleting of tables; using ruled lines
- G06F40/18—Editing, e.g. inserting or deleting of tables; using ruled lines of spreadsheets
Abstract
本发明具体涉及一种基于ASP.NET MVC技术实现生成Excel数据录入模板及将Excel数据转换为强类型业务对象以实现将数据导入到其它数据源并自动生成导入错误报告的方法,具有使用方便、配置灵活及扩展性强的特点,使用者只需自己实现将自定义的强类型数据导入到其它数据源的业务逻辑,无需关心Excel录入模板及数据合法性校验等问题,且最终生成的导入报告能详细显示所有错误或重复数据,高亮标注错误数据所在单元格并显示错误或导入失败的原因,方便查看和修复错误数据并进行二次导入,对于跨应用的数据交换有很高的现实意义。
Description
技术领域
本发明属于计算机数据处理技术领域,具体涉及一种基于 ASP.NET MVC的Excel模板生成及数据转换和导入方法。
背景技术
当前各级政府部门以及大中小各类企业的信息系统中,普遍存在着以下三种情况:一、因业务需求的多样性,同一部门或公司内存在多种多样的系统软件,这些软件之间经常存在着某些公用数据,但因各个软件相对独立且没有统一的数据交换接口,使得数据交换成为老大难问题;二、许多老旧系统升级或重新开发后,因新旧系统不兼容,需要对原系统的数据进行迁移转换,变为新系统的数据格式,在缺乏合适工具的情况下,数据迁移无法完成;三、一些企业或政府部门因网络等原因,下级上报数据依赖于通过Excel文件的形式进行,这样上报的数据需要转换并导入相关软件系统中以便于软件能够使用;
发明内容:
为了解决将Excel数据转换并导入其它数据源的问题,本发明提供了一种基于ASP.NET MVC技术的Excel模板生成及数据转换和导入方法,能够通过配置大大简化数据转换和导入工作量及复杂度,本发明要解决的问题通过如下方式进行:
S1:使用特性(Attribute)配置要导入数据的业务对象Model,设置相关导入字段数据来源、转换方法及模板字段格式和表格样式等;
S2:调用相关方法,根据业务对象Model生成具有数据验证功能及指定格式的Excel数据导入模板;
S3:用户用生成的Excel模板录入数据,或将数据从第三方系统导入到Excel模板文件中;
S4:用户上传需要导入数据的Excel文件,系统后台接收文件并将数据读取到DataSet中;
S5:后台将读取到DataSet中的数据根据特性配置转换为业务对象Model集合,并将转换出错或无法转换的数据标注为无效数据从方法参数输出;
S6:用户将转换为业务对象Model集合的数据导入到数据源中,在导入过程中可执行自定义数据验证逻辑,将不能导入的数据标注为无效数据与上一步中标注的无效数据合并;
S7:生成导入错误报告,将无效数据导出到Excel中并提供下载链接,对无效数据进行标注及显示错误原因;
附图说明
图1是本发明的流程框图
具体实施方式:
下面结合具体实施例对本发明做进一步的详细描述,但本发明的实施方式不限于此。
实例1:
如图1所示的基于ASP.NET MVC的Excel模板生成及数据转换和导入方法,包含以下步骤:
S1:使用特性(Attribute)配置要导入数据的业务对象Model,设置相关导入字段数据来源、转换方法及模板字段格式和单元格样式等;实例如下:
[ExcelColumn(Title="编号",Unique=true,MinValue=1)]
public int ID{get;set;}
转换方法设置示例代码如下:
[MapEnumValue(typeof(MyEnum),"枚举","第一",true)]
public MyEnum EnumValue{get;set;}
S2:调用
ExcelGenerator.GenerateTemplate(ModelType,SheetName)方法或ExcelTemplateFileResult对象的构造函数,根据业务对象Model生成具有数据验证功能及指定格式的Excel数据导入模板并下载;
S3:用户用生成的Excel模板录入数据,或将数据从第三方系统导入到Excel模板文件中;
S4:用户上传需要导入数据的Excel文件,系统后台接收文件并将数据读取到DataSet数据集中;
S5:后台将读取到DataSet中的数据,调用
ExcelDataConverter.ConvertDataRowsToModels<T>(Stream fileStream, outList<InvalidExcelDataRow>invalidRows)方法,根据特性配置中的设置调用相应的转换方法将数据转换为业务对象Model集合,该方法同时将转换出错或无法转换的数据标注为无效数据从方法参数中输出以便于后续操作调用;
S6:用户将转换为业务对象Model集合的数据插入到新的数据源中,在导入过程中可执行其它自定义数据验证逻辑,将不能导入的数据标注为无效数据并与上一步中标注的无效数据合并以便生成导入错误报告;
S7:调用GenerateErrorReport<T>(Stream fileStream, List<InvalidExcelDataRow>invalidRows,List<InvalidDataModel<T>> invalidModels,string fileName,bool onlyInvalidRows=true)方法,传入S5和S6步骤中生成的无效数据,生成导入错误报告,将无效数据导出到Excel中并提供下载链接,对无效数据进行标注及显示错误原因;
以上内容是结合具体的优选实施方式对本发明所作的进一步详细说明,不能认定本发明的具体实施只局限于这些说明。对于本发明所属技术领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干简单推演或替换,都应当视为属于本发明的保护范围。
Claims (3)
1.一种基于ASP.NET MVC的Excel模板生成及数据转换和导入方法,所述方法是将Excel数据转换为强类型业务对象以实现将数据导入到其它数据源并自动生成导入错误报告的方法,其特征在于:该方法包含以下步骤:
S1:使用特性Attribute配置要导入数据的业务对象Model,设置相关导入字段数据来源、转换方法及模板字段格式和表格样式等;
S2:调用相关方法,根据业务对象Model生成具有数据验证功能及指定格式的Excel数据导入模板;
S3:用户用生成的Excel模板录入数据,或将数据从第三方系统导入到Excel模板文件中;
S4:用户上传需要导入数据的Excel文件,系统后台接收文件并将数据读取到DataSet中;
S5:后台将读取到DataSet中的数据根据特性配置转换为业务对象Model集合,并将转换出错或无法转换的数据标注为无效数据从方法参数输出;
S6:用户将转换为业务对象Model集合的数据导入到数据源中,在导入过程中可执行自定义数据验证逻辑,将不能导入的数据标注为无效数据与上一步中标注的无效数据合并;
S7:生成导入错误报告,将无效数据导出到Excel中并提供下载链接,对无效数据进行标注及显示错误原因。
2.根据权利要求1所述的Excel模板生成及数据转换和导入方法,其特征在于:所述S2具体为:通过使用特性Attribute配置要导入数据的业务对象Model,设置相关导入字段数据来源、转换方法及模板字段格式和表格样式等,生成具有数据验证功能和相应格式的Excel模板文件。
3.根据权利要求1所述的Excel模板生成及数据转换和导入方法,读取DataSet对象并根据特性配置转换为业务对象Model集合,在转换过程中发现并标注无效数据的方法,其特征在于:
所述S5具体为:获取指定字段的特性信息,若特性信息中指定的列标题不存在,则将所有数据标记为无效;若特性信息标记了该字段值为唯一,则将重复值标记为无效;若特性中指定了转换方法,转换方法是从已有值映射、从枚举映射和从自定义方法映射,则调用该转换方法对数据进行转换,并根据方法的重载参数或是否抛出异常确定该数据是否有效;若特性中未指定转换方法,则直接读取字段值并赋予对应属性。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811433581.2A CN109684609B (zh) | 2018-11-28 | 2018-11-28 | 一种基于ASP.NET MVC的Excel模板生成及数据转换和导入方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811433581.2A CN109684609B (zh) | 2018-11-28 | 2018-11-28 | 一种基于ASP.NET MVC的Excel模板生成及数据转换和导入方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109684609A CN109684609A (zh) | 2019-04-26 |
CN109684609B true CN109684609B (zh) | 2022-10-04 |
Family
ID=66184429
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811433581.2A Active CN109684609B (zh) | 2018-11-28 | 2018-11-28 | 一种基于ASP.NET MVC的Excel模板生成及数据转换和导入方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109684609B (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110968997B (zh) * | 2019-12-03 | 2023-07-21 | 广联达科技股份有限公司 | 强可控型文档生成方法、装置、存储介质、电子设备 |
CN111258953B (zh) * | 2020-01-08 | 2024-04-30 | 中联财联网科技有限公司 | 一种财务数据转换成评估数据规范化的方法 |
CN111796803B (zh) * | 2020-07-08 | 2024-03-08 | 宝牧科技(天津)有限公司 | 一种基于多级容器转存的模板报表生成方法 |
CN117688914A (zh) * | 2023-11-28 | 2024-03-12 | 中国人寿保险股份有限公司江苏省分公司 | 一种基于数据标色与目标变更实现业务自动督导的方法 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105094852A (zh) * | 2015-09-07 | 2015-11-25 | 浪潮软件集团有限公司 | 一种数据excel导入和导出的工具 |
CN106547841A (zh) * | 2016-10-14 | 2017-03-29 | 西安工程大学 | 一种Excel XML映射的数据自动转换方法 |
CN108170864A (zh) * | 2018-01-29 | 2018-06-15 | 方欣科技有限公司 | 一种外部数据导入申报数据加工处理方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20170011135A1 (en) * | 2015-07-06 | 2017-01-12 | IGATE Global Solutions Ltd. | Conversion Automation through Data and Object Importer |
-
2018
- 2018-11-28 CN CN201811433581.2A patent/CN109684609B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105094852A (zh) * | 2015-09-07 | 2015-11-25 | 浪潮软件集团有限公司 | 一种数据excel导入和导出的工具 |
CN106547841A (zh) * | 2016-10-14 | 2017-03-29 | 西安工程大学 | 一种Excel XML映射的数据自动转换方法 |
CN108170864A (zh) * | 2018-01-29 | 2018-06-15 | 方欣科技有限公司 | 一种外部数据导入申报数据加工处理方法 |
Non-Patent Citations (2)
Title |
---|
一种基于ASP.NET的Excel报表导入与导出方法;李菲菲等;《软件导刊》;20120830(第08期);全文 * |
基于C#实现SQL Server与Excel间数据的导入导出;闫淼;《科技视界》;20130925(第27期);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN109684609A (zh) | 2019-04-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109684609B (zh) | 一种基于ASP.NET MVC的Excel模板生成及数据转换和导入方法 | |
US7676786B2 (en) | System and method and apparatus for using UML tools for defining web service bound component applications | |
US7437731B2 (en) | Coordinated collaboration system in an integration platform | |
CN101795270B (zh) | 一种基于串口的服务器控制方法 | |
CN112464632B (zh) | 一种excel报表下的表格样式动态存储及转化方法 | |
CN111399828B (zh) | 一种基于模型驱动的逻辑设备建模方法及终端 | |
CN100596139C (zh) | 使用元数据定义映射来构建组件应用程序的系统和方法 | |
US20120293541A1 (en) | Manipulation of an object as an image of a mapping of graph data | |
CN114338855B (zh) | 一种实现hl7、fhir标准、自定义xml消息的解析生成方法 | |
CN109995643A (zh) | 业务邮件推送方法及装置 | |
CN109063362A (zh) | 航电软件接口控制文件设计管理系统 | |
CN109299074A (zh) | 一种基于模板化数据库视图的数据校验方法及系统 | |
CN108388623A (zh) | Er关系生成方法、装置、计算机设备及存储介质 | |
CN113626223A (zh) | 一种接口调用方法和装置 | |
CN113434175A (zh) | 数据处理方法、装置、存储介质及设备 | |
CN100485687C (zh) | 建立无连接的数据编程模型的方法、装置及其应用 | |
CN113296746A (zh) | 命令行搭建可配置Vue项目脚手架的系统及方法 | |
CN105933396B (zh) | 一种协同各渠道系统接口实现长流程的方法及系统 | |
CN111324645B (zh) | 区块链的数据处理方法及装置 | |
CN115037587B (zh) | 网络设备配置自动发放方法、装置、设备及存储介质 | |
CN111949634A (zh) | 一种区块链数据同步迁移的方法 | |
CN115098047B (zh) | 一种基于Word模板和功能插件的打印平台 | |
CN115080651A (zh) | Excel数据导入方法、装置、电子设备及存储介质 | |
CN112560416B (zh) | 页面图表生成方法、装置、电子设备及存储介质 | |
CN112540988A (zh) | 业务处理装置、处理方法和可读存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |