《一种可定制表格式的EXCEL表解析方法.pdf》由会员分享,可在线阅读,更多相关《一种可定制表格式的EXCEL表解析方法.pdf(8页珍藏版)》请在专利查询网上搜索。
1、(10)申请公布号 CN 103150380 A (43)申请公布日 2013.06.12 CN 103150380 A *CN103150380A* (21)申请号 201310080372.5 (22)申请日 2013.03.13 G06F 17/30(2006.01) G06F 17/24(2006.01) (71)申请人 河海大学 地址 210098 江苏省南京市鼓楼区西康路 1 号 (72)发明人 许峰 陈亚明 叶枫 娄渊胜 范珂 王亚普 余霖 周远超 (74)专利代理机构 南京苏高专利商标事务所 ( 普通合伙 ) 32204 代理人 柏尚春 (54) 发明名称 一种可定制表格式的 。
2、Excel 表解析方法 (57) 摘要 本发明公开一种可定制表格式的 Excel 表解 析方法, 包括步骤 : 根据水调业务需求, 定义所需 要解析的Excel表相对应的XML格式的配置文件 ; 通过浏览器将 Excel 文件上传至 Web 服务器, 并 解析该文件 ; 根据上传文件的文件名, 获取该文 件的目标数据表及相对应的 XML 配置文件信息, 并解析该配置文件 ; 通过配置文件信息对上传文 件内容进行分析, 将需要入库的信息封装成数据 对象 ; 使用Hibernate实现数据入库 ; 将上传文件 备份至服务器。 该发明通过可配置文件, 实现了复 杂 Excel 的通用解析过程, 尤其。
3、适用于流域水调 业务表格的处理 ; 精确的错误信息提示机制和事 务管理机制, 保证数据库数据的准确性和数据一 致性。 (51)Int.Cl. 权利要求书 1 页 说明书 5 页 附图 1 页 (19)中华人民共和国国家知识产权局 (12)发明专利申请 权利要求书1页 说明书5页 附图1页 (10)申请公布号 CN 103150380 A CN 103150380 A *CN103150380A* 1/1 页 2 1. 一种可定制表格式的 Excel 表解析方法, 其特征在于, 包括如下步骤 : 步骤 1 : 根据水调业务需求, 定义所需要解析的 Excel 表相对应的 XML 格式的配置文 件。
4、 ; 步骤 2 : 通过浏览器将 Excel 文件上传至 Web 服务器后, 解析 Excel 文件该, 并将其以 文件流的形式存储在 File 对象中, 如果解析成功, 则进入步骤 3 ; 否则, 进入步骤 7 ; 步骤 3 : 根据上传文件的文件名查找索引文件, 根据索引文件获取该文件的目标数据 表及相对应的XML配置文件信息, 解析所述XML配置文件, 成功则进入步骤4, 否则进入步骤 7 ; 步骤 4 : 根据 XML 配置文件获取相应数据表字段、 特殊节点坐标等辅助信息, 从而解析 文件内容并将需要入库的 Excel 信息封装成数据对象, 如果成功, 则进入步骤 5 ; 否则进入 步。
5、骤 7 ; 步骤 5 : 使用 Hibernate 实现数据入库 ; 如果成功, 则进入步骤 6 ; 否则, 进入步骤 7 ; 步骤 6 : 将上传文件备份至 Web 服务器, 结束流程 ; 步骤 7 : 记录错误日志并向用户返回友好的出错提示信息, 结束流程。 2.根据权利要求1所述的可定制表格式的Excel表解析方法, 其特征在于, 步骤1中根 据水调业务需求, 定义的 XML 格式的配置文件有两类 : 第一类为 XML 格式的索引文件, 其存储的基本形式为一种 Excel 文件名形式对应多个 目标数据库表名和一个XML配置文件名 ; 第二类为XML格式的EXCEL表格解析辅助文件, 其 。
6、存储的内容为数据库表字段信息、 特殊节点坐标信息。 3.根据权利要求1所述的可定制表格式的Excel表解析方法, 其特征在于, 步骤2中上 传文件调用 Java 文件解析类库 POI 进行解析。 4.根据权利要求1所述的可定制表格式的Excel表解析方法, 其特征在于, 步骤3中使 用索引文件以键值对的形式存储上传文件的目标数据表信息及相对应的 XML 配置文件信 息 ; 调用 XML 解析类库 Dom4j 解析 XML 配置文件。 5.根据权利要求1所述的可定制表格式的Excel表解析方法, 其特征在于, 步骤4中结 合 XML 配置文件的数据库表字段信息, 通过 Java 的反射机制将 E。
7、xcel 信息动态封装成数据 对象 ; 结合 XML 配置文件的特殊节点坐标信息实现单 Excel 导入多数据库表的业务需求。 6.根据权利要求1所述的可定制表格式的Excel表解析方法, 其特征在于, 步骤5中使 用 Hibernate 实现数据入库时, 如果有数据入库失败, 则通过 Spring 的事务管理机制对数 据库进行回滚, 以保持数据的一致性。 权 利 要 求 书 CN 103150380 A 2 1/5 页 3 一种可定制表格式的 Excel 表解析方法 技术领域 0001 本发明涉及一种通用的、 可定制表格式的 Excel 表解析方法, 结合流域水调业务, 用于解决形式复杂, 。
8、格式不同的水调业务 Excel 表格的数据解析问题, 属于计算机报表处 理技术领域。 背景技术 0002 随着信息技术的迅猛发展, 水利信息化水平也得到了很大的提高。 在日常办公中, 流域管理者在水资源决策、 水量调度管理等方面存在数据不全面、 办公方式落后、 办公效率 低等问题, 给水资源决策和水量调度管理带来了诸多不便。为了保证不同流域的大量水资 源数据能够准确、 高效地录入数据库并进行汇总计算, 需要为负责数据录入的水利工作者 提供标准化的数据表格。以传统网页形式呈现的表单影响了用户体验, 通过 Excel 表格进 行批数据录入的方式在办公中已得到越来越普遍的采用。然而, 由于水利业务所。
9、需的表格 形式复杂、 数据量大、 专业性强, 传统的 Excel 上报解析方式已经远远不能满足水利业务的 处理需求。因此, 有必要提供一种通用的 Excel 表格解析方法实现流域水调业务可定制复 杂表格的高效解析。 发明内容 0003 发明目的 : 针对现有技术中存在的问题, 本发明基于现有的 Excel 报表解析技术, 提供一种通用的、 可定制表格式的 Excel 表解析方法, 本发明能够高效、 准确的处理此类 Excel 报表的解析问题。 0004 技术方案 : 一种可定制表格式的 Excel 表解析方法, 包括如下步骤 : 0005 步骤 1 : 根据水调业务需求, 定义所需要解析的 E。
10、xcel 表相对应的 XML 格式的配置 文件 ; 0006 步骤 2 : 通过浏览器将 Excel 文件上传至 Web 服务器后, 调用 POI(文件解析类库) 解析该文件, 并将其以文件流的形式存储在 File 对象中, 如果解析成功, 则进入步骤 3 ; 否 则, 进入步骤 7 ; 0007 步骤 3 : 根据上传文件的文件名查找索引文件 (文件格式为 XML) , 根据索引文件获 取该文件的目标数据表及相对应的 XML 配置文件信息, 调用 Dom4j(XML 解析类库) 解析此 XML 配置文件, 成功则进入步骤 4, 否则进入步骤 7 ; 0008 步骤 4 : 根据 XML 配置。
11、文件获取相应数据表字段、 特殊节点坐标等辅助信息, 从而 解析文件内容并将需要入库的 Excel 信息封装成数据对象, 如果成功, 则进入步骤 5 ; 否则 进入步骤 7 ; 0009 步骤 5 : 使用 Hibernate 实现数据入库 ; 如果成功, 则进入步骤 6 ; 否则, 进入步骤 7 ; 0010 步骤 6 : 将上传文件备份至 Web 服务器, 结束流程 ; 0011 步骤 7 : 记录错误日志并向用户返回友好的出错提示信息, 结束流程。 说 明 书 CN 103150380 A 3 2/5 页 4 0012 其中, 步骤 1 中根据水调业务需求, 定义的 XML 格式的配置文件。
12、有两类 : 0013 第一类为 XML 格式的索引文件, 其存储的基本形式为一种 Excel 文件名形式对应 多个目标数据库表名和一个 XML 配置文件名 ; 第二类为 XML 格式的 EXCEL 表格解析辅助文 件, 其存储的内容为数据库表字段信息, 特殊节点坐标信息等。 0014 步骤 2 中上传文件调用 Java 文件解析类库 POI 进行解析。 0015 步骤 3 中使用索引文件以键值对的形式存储上传文件的目标数据表信息及相对 应的XML配置文件信息, 然后根据该配置文件名查找配置文件, 并使用Java调用Dom4j (XML 解析类库) 解析该配置文件。 0016 步骤4为本发明的核。
13、心内容, 由于需解析复杂多样的流域水调业务Excel表格, 解 析辅助配置文件中包含了大量特殊节点信息。步骤 4 中结合 XML 配置文件的数据库表字段 信息, 通过 Java 的反射机制将 Excel 表格信息动态封装成数据对象 ; 结合 XML 配置文件的 特殊节点坐标信息实现单 Excel 导入多数据库表的业务需求。 0017 步骤 5 中使用 Hibernate 实现数据入库时, 如果有数据入库失败, 则通过 Spring 的事务管理机制对数据库进行回滚, 以保持数据的一致性。 0018 本发明采用上述技术方案, 具有以下有益效果 : 通过可配置文件, 实现了流域水调 业务可定制复杂 。
14、Excel 表格导入多数据库表的业务需求 ; 动态导入表格, 导入过程对用户 来说是透明的, 用户无需手工选择导入表格条件 ; 支持形式复杂, 格式不同的 Excel 的导 入 ; 精确的错误信息提示机制和事务管理机制, 保持录入数据库数据的准确性和数据一致 性。 附图说明 0019 图 1 为本发明实施例的方法流程图。 具体实施方式 0020 下面结合具体实施例, 进一步阐明本发明, 应理解这些实施例仅用于说明本发明 而不用于限制本发明的范围, 在阅读了本发明之后, 本领域技术人员对本发明的各种等价 形式的修改均落于本申请所附权利要求所限定的范围。 0021 如图 1 所示, 可定制表格式的。
15、 Excel 表解析方法, 包括如下步骤 : 0022 步骤 1 : 根据水调业务需求, 定义所需要解析的 Excel 表相对应的 XML 格式的配置 文件。其配置文件有两类 : 第一类为 XML 格式的索引文件, 其存储的基本形式为一种 Excel 文件名形式对应多个目标数据库表名和一个 XML 配置文件名 ; 第二类为 XML 格式的 EXCEL 表格解析辅助文件, 其存储的内容为数据库表字段信息, 特殊节点坐标信息等。 0023 例如, 一种文件名类型的配置方式如下所示 : 0024 说 明 书 CN 103150380 A 4 3/5 页 5 0025 其对应的文件名为 : 用水计划日。
16、报 ; 对应的数据库表名为 : BurPlanYear、 Glxj、 Zlxj、 Hj ; 对应的配置文件名为 : 用水计划日报解析 .xml。 0026 例如, 一种数据库表字段配置信息如下所示 : 0027 说 明 书 CN 103150380 A 5 4/5 页 6 0028 其中, name 节点下的属性值为 Execl 的列属性值, code 节点下的属性值为实体类 的方法名, 对应于存入数据库后的字段名。 0029 例如, 一种特殊节点坐标信息的配置文件信息如下所示 : 说 明 书 CN 103150380 A 6 5/5 页 7 0030 0031 其中, start 节点下的属。
17、性值代表从 Excel 表的第 7 行开始通过 Java 的反射机制 将数据导入基库 ; glxj 节点下的属性值代表从 Excel 表的第 13 行开始将数据导入干流小 计数据库 ; zlxj 节点下的属性值代表从 Excel 表的第 27 行开始将数据导入支流小计数据 库 ; hj 节点下的属性值代表从 Excel 表的第 30 行开始将数据导入合计信息数据库。 0032 步骤 2 : 通过浏览器将 Excel 文件上传至 Web 服务器后, 调用 Java 文件解析类库 POI解析该文件, 并将其以文件流的形式存储在File对象中, 如果解析成功, 则进入步骤3 ; 否则, 进入步骤 7。
18、 ; 0033 步骤 3 : 根据上传文件的文件名查找索引文件 (文件格式为 XML) , 根据索引文件获 取上传文件的目标数据表信息及相对应的 XML 配置文件信息, 调用 Dom4j(XML 解析类库) 解析此 XML 配置文件, 成功则进入步骤 3, 否则进入步骤 6。其中使用索引文件以键值对的 形式存储上传文件的目标数据表信息及相对应的 XML 配置文件信息, 然后根据该配置文件 名查找配置文件, 并使用 Java 调用 Dom4j 解析该配置文件。 0034 步骤 4 : 根据 XML 配置文件获取相应数据表字段、 特殊节点坐标等辅助信息, 从而 解析文件内容并将需要入库的 Exce。
19、l 信息封装成数据对象, 如果成功, 则进入步骤 5 ; 否则 进入步骤7 ; 其中结合XML配置文件的数据库表字段信息, 通过Java的反射机制将Excel表 格信息动态封装成数据对象 ; 结合 XML 配置文件的特殊节点坐标信息实现单 Excel 导入多 数据库表的业务需求。 0035 步骤 5 : 使用 Hibernate 实现数据入库 ; 如果成功, 则进入步骤 6 ; 否则, 进入步骤 7 ; 0036 步骤 6 : 将上传文件备份至 Web 服务器, 结束流程 ; 0037 步骤 7 : 记录错误日志并向用户返回友好的出错提示信息, 结束流程。 0038 本发明通过配置文件来解决复杂 Excel 通用解析的问题。假如之后出现新的 Excel 模板时, 不需要修改源程序, 只需要相应的增加 Excel 模板对应的配置文件即可, 所 以说此类表格是可定制的, 程序会根据配置文件实现透明化的动态入库。 说 明 书 CN 103150380 A 7 1/1 页 8 图 1 说 明 书 附 图 CN 103150380 A 8 。