[发明专利]一种EXCEL模板文件的生成方法及系统在审
申请号: | 202211673627.4 | 申请日: | 2022-12-26 |
公开(公告)号: | CN115983225A | 公开(公告)日: | 2023-04-18 |
发明(设计)人: | 江思飞;周壮 | 申请(专利权)人: | 上海中通吉网络技术有限公司 |
主分类号: | G06F40/186 | 分类号: | G06F40/186;G06F40/18 |
代理公司: | 北京细软智谷知识产权代理有限责任公司 11471 | 代理人: | 涂凤琴 |
地址: | 201799 上*** | 国省代码: | 上海;31 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 excel 模板 文件 生成 方法 系统 | ||
本发明涉及计算机软件技术领域,具体涉及一种EXCEL模板文件的生成方法及系统。通过对数据库中待导出的EXCEL模板配置信息,用于识别EXCEL模板中不同类型报表的识别,从所述配置信息中解析出待导出sheet的标题和单元格信息,将解析出的标题渲染到一个新建的sheet中,根据所述单元格信息,将所述EXCEL模板中每个单元格的内容渲染到所述sheet中,并将所述EXCEL模板的条件格式复制到所述sheet中。将所述sheet中具有相同字段名和内容的单元格进行合并,删除所述EXCEL模板,并将所述sheet中的数据刷进磁盘中,以备用户导出。如此,将数据库中需要导出的EXCEL模板通过配置信息,模板化的刷新到硬盘中,通过不断的模块化刷新导出数据到excel文件中,最终实现数据百万级的导出。
技术领域
本发明涉及计算机软件技术领域,具体涉及一种EXCEL模板文件的生成方法及系统。
背景技术
ApachePoi(Poor 0bfuscation Impl ementat io)是由Apache基金会开发的开放源码函式库,是用Java编写的免费开源的跨平台的Java API,Apache POI提供API给Java程序对Microsoft Office格式档案读和写的功能。用于操作符合微软Open XML标准以及微软0LE2复合文档格式的Java工具,是用Java编写的免费开源的跨平台的Java API,具备提供API给Java程式对MicrosoftOffice格式档案读和写的功能。POI为“Poor ObfuscationImplementation”的首字母缩写,意为“简洁版的模糊实现”。
常用的JXL,模板配置十分强大,但却存在性能问题,如:当系统需要很多表格导出时,针对报表的不同类型,如纵向报表、横向报表、隐藏列以及动态生成表头标题等,JXL在一次性导出百万级别数据并且有并发的时候,由于数据都加载在内存中,而内存短时间无法得到释放,此时若有新的请求,就会把内存撑满,导致服务宕机。
发明内容
有鉴于此,本发明的目的在于提供一种EXCEL模板文件的生成方法,以解决现有技术中针对数据库中不同类型的报表,由于内存过满,短时间无法批量导出数据而导致的服务不可用,性能低下的问题。
根据本发明实施例的第一方面,一种EXCEL模板文件的生成方法,包括:
对数据库中待导出的EXCEL模板配置信息;
从所述配置信息中解析出待导出sheet的标题和单元格信息;
创建新的sheet,将解析出的标题渲染到新建的sheet中;
根据所述单元格信息,将所述EXCEL模板中每个单元格的内容渲染到所述sheet中,并将所述EXCEL模板的条件格式复制到所述sheet中;
将所述sheet中具有相同字段名和内容的单元格进行合并;
删除所述EXCEL模板,并将所述sheet中的数据刷进磁盘中,以备用户导出。
进一步的,所述创建新的sheet,将解析出的标题渲染到新建的sheet中,包括:
根据解析出的标题的行索引,将所述标题渲染到新建的sheet的对应位置。
进一步的,所述单元格信息包括:表头及每个单元格的占位符,所述根据所述单元格信息,将所述EXCEL模板中每个单元格的内容渲染到所述sheet中,包括:
对于表头,若当前单元格的占位符为$,将当前单元格的内容纵向渲染到所述sheet中;若当前单元格的占位符为#,将当前单元格的内容横向渲染到所述sheet中;
对于非表头,从第一行轮询到最后一行,从第一列轮询到最后一列,根据每个单元格对应在表头中的字段名,将每个单元格的内容对应渲染到所述sheet中。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于上海中通吉网络技术有限公司,未经上海中通吉网络技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202211673627.4/2.html,转载请声明来源钻瓜专利网。