[发明专利]一种可定制表格式的Excel表解析方法无效
申请号: | 201310080372.5 | 申请日: | 2013-03-13 |
公开(公告)号: | CN103150380A | 公开(公告)日: | 2013-06-12 |
发明(设计)人: | 许峰;陈亚明;叶枫;娄渊胜;范珂;王亚普;余霖;周远超 | 申请(专利权)人: | 河海大学 |
主分类号: | G06F17/30 | 分类号: | G06F17/30;G06F17/24 |
代理公司: | 南京苏高专利商标事务所(普通合伙) 32204 | 代理人: | 柏尚春 |
地址: | 210098 *** | 国省代码: | 江苏;32 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 制表 格式 excel 表解 方法 | ||
技术领域
本发明涉及一种通用的、可定制表格式的Excel表解析方法,结合流域水调业务,用于解决形式复杂,格式不同的水调业务Excel表格的数据解析问题,属于计算机报表处理技术领域。
背景技术
随着信息技术的迅猛发展,水利信息化水平也得到了很大的提高。在日常办公中,流域管理者在水资源决策、水量调度管理等方面存在数据不全面、办公方式落后、办公效率低等问题,给水资源决策和水量调度管理带来了诸多不便。为了保证不同流域的大量水资源数据能够准确、高效地录入数据库并进行汇总计算,需要为负责数据录入的水利工作者提供标准化的数据表格。以传统网页形式呈现的表单影响了用户体验,通过Excel表格进行批数据录入的方式在办公中已得到越来越普遍的采用。然而,由于水利业务所需的表格形式复杂、数据量大、专业性强,传统的Excel上报解析方式已经远远不能满足水利业务的处理需求。因此,有必要提供一种通用的Excel表格解析方法实现流域水调业务可定制复杂表格的高效解析。
发明内容
发明目的:针对现有技术中存在的问题,本发明基于现有的Excel报表解析技术,提供一种通用的、可定制表格式的Excel表解析方法,本发明能够高效、准确的处理此类Excel报表的解析问题。
技术方案:一种可定制表格式的Excel表解析方法,包括如下步骤:
步骤1:根据水调业务需求,定义所需要解析的Excel表相对应的XML格式的配置文件;
步骤2:通过浏览器将Excel文件上传至Web服务器后,调用POI(文件解析类库)解析该文件,并将其以文件流的形式存储在File对象中,如果解析成功,则进入步骤3;否则,进入步骤7;
步骤3:根据上传文件的文件名查找索引文件(文件格式为XML),根据索引文件获取该文件的目标数据表及相对应的XML配置文件信息,调用Dom4j(XML解析类库)解析此XML配置文件,成功则进入步骤4,否则进入步骤7;
步骤4:根据XML配置文件获取相应数据表字段、特殊节点坐标等辅助信息,从而解析文件内容并将需要入库的Excel信息封装成数据对象,如果成功,则进入步骤5;否则进入步骤7;
步骤5:使用Hibernate实现数据入库;如果成功,则进入步骤6;否则,进入步骤7;
步骤6:将上传文件备份至Web服务器,结束流程;
步骤7:记录错误日志并向用户返回友好的出错提示信息,结束流程。
其中,步骤1中根据水调业务需求,定义的XML格式的配置文件有两类:
第一类为XML格式的索引文件,其存储的基本形式为一种Excel文件名形式对应多个目标数据库表名和一个XML配置文件名;第二类为XML格式的EXCEL表格解析辅助文件,其存储的内容为数据库表字段信息,特殊节点坐标信息等。
步骤2中上传文件调用Java文件解析类库POI进行解析。
步骤3中使用索引文件以键值对的形式存储上传文件的目标数据表信息及相对应的XML配置文件信息,然后根据该配置文件名查找配置文件,并使用Java调用Dom4j(XML解析类库)解析该配置文件。
步骤4为本发明的核心内容,由于需解析复杂多样的流域水调业务Excel表格,解析辅助配置文件中包含了大量特殊节点信息。步骤4中结合XML配置文件的数据库表字段信息,通过Java的反射机制将Excel表格信息动态封装成数据对象;结合XML配置文件的特殊节点坐标信息实现单Excel导入多数据库表的业务需求。
步骤5中使用Hibernate实现数据入库时,如果有数据入库失败,则通过Spring的事务管理机制对数据库进行回滚,以保持数据的一致性。
本发明采用上述技术方案,具有以下有益效果:通过可配置文件,实现了流域水调业务可定制复杂Excel表格导入多数据库表的业务需求;动态导入表格,导入过程对用户来说是透明的,用户无需手工选择导入表格条件;支持形式复杂,格式不同的Excel的导入;精确的错误信息提示机制和事务管理机制,保持录入数据库数据的准确性和数据一致性。
附图说明
图1为本发明实施例的方法流程图。
具体实施方式
下面结合具体实施例,进一步阐明本发明,应理解这些实施例仅用于说明本发明而不用于限制本发明的范围,在阅读了本发明之后,本领域技术人员对本发明的各种等价形式的修改均落于本申请所附权利要求所限定的范围。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于河海大学,未经河海大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201310080372.5/2.html,转载请声明来源钻瓜专利网。