CN112733503A - 一种基于poi的html表格生成excel的方法 - Google Patents
一种基于poi的html表格生成excel的方法 Download PDFInfo
- Publication number
- CN112733503A CN112733503A CN202110086036.6A CN202110086036A CN112733503A CN 112733503 A CN112733503 A CN 112733503A CN 202110086036 A CN202110086036 A CN 202110086036A CN 112733503 A CN112733503 A CN 112733503A
- Authority
- CN
- China
- Prior art keywords
- excel
- html
- poi
- generating
- merging
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 39
- 230000008569 process Effects 0.000 claims abstract description 10
- 238000013519 translation Methods 0.000 claims description 9
- 238000006243 chemical reaction Methods 0.000 abstract description 4
- 230000006870 function Effects 0.000 description 4
- 238000010586 diagram Methods 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 230000008859 change Effects 0.000 description 1
- 238000007596 consolidation process Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000008014 freezing Effects 0.000 description 1
- 238000007710 freezing Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
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/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
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Health & Medical Sciences (AREA)
- Artificial Intelligence (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Computational Linguistics (AREA)
- General Health & Medical Sciences (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开一种基于POI的HTML表格生成EXCEL的方法,涉及文件格式转换技术领域;基于POI,获取前端HTML的table发送至后端,后端利用相应工具类将table中对应于excel的sheet,在table中自定义属性标明导出到excel的sheet的相关参数信息,将前端的html代码翻译为excel;通过本发明方法在网页使用过程中获取网页的文本,能够快速完善地在获取HTML中文本时生成EXCEL表格,完成HTML中table转换为excel,且保证内容不缺失。
Description
技术领域
本发明公开一种方法,涉及文件格式转换技术领域,具体地说是一种基于POI的HTML表格生成EXCEL的方法。
背景技术
Apache POI,是一种流行的API,允许程序员使用Java程序创建,修改和显示MSOffice文件。Apache POI由Apache软件基金会开发使用Java分布式设计或修改MicrosoftOffice文件的开源库。包含类和方法对用户输入数据或文件到MS Office文档进行解码。
HTML通过标记符号来标记要显示的网页中的各个部分,网页文件本身是一种文本文件,有时包含表格,在网页使用过程中,常常需要获取网页的文本,目前还没有快速完善的方法在获取HTML中文本时生成EXCEL表格。
发明内容
本发明针对现有技术的问题,提供一种基于POI的HTML表格生成EXCEL的方法,快速完善的方法在获取HTML中文本时生成EXCEL表格。
本发明提出的具体方案是:
一种基于POI的HTML表格生成EXCEL的方法,基于POI,获取前端HTML的table发送至后端,
后端利用相应工具类将table中对应于excel的sheet,在table中自定义属性标明导出到excel的sheet的相关参数信息,将前端的html代码翻译为excel。
优选地,所述的一种基于POI的HTML表格生成EXCEL的方法中利用相应工具类记录table中单元格合并的信息,填充合并,获取excel相关参数信息,生成表体。
优选地,所述的一种基于POI的HTML表格生成EXCEL的方法中过程为:
记录table的th中包含的单元格合并的合并列数和合并行数,进行填充合并,
获取excel的标题,冻结列数,冻结行数,数据源,
利用相应工具类生成excel行内容和列内容。
一种基于POI的HTML表格生成EXCEL的系统,包括信息获取模块及生成翻译模块,
信息获取模块基于POI,获取前端HTML的table发送至后端,
后端生成翻译模块利用相应工具类将table中对应于excel的sheet,在table中自定义属性标明导出到excel的sheet的相关参数信息,将前端的html代码翻译为excel。
优选地,所述的一种基于POI的HTML表格生成EXCEL的系统中利用相应工具类记录table中单元格合并的信息,填充合并,获取excel相关参数信息,生成表体。
优选地,所述的一种基于POI的HTML表格生成EXCEL的系统中生成翻译模块生成excel过程为:
记录table的th中包含的单元格合并的合并列数和合并行数,进行填充合并,
获取excel的标题,冻结列数,冻结行数,数据源,
利用相应工具类生成excel行内容和列内容。
一种基于POI的HTML表格生成EXCEL的装置,包括至少一个存储器和至少一个处理器;
所述至少一个存储器,用于存储机器可读程序;
所述至少一个处理器,用于调用所述机器可读程序,执行所述的一种基于POI的HTML表格生成EXCEL的方法。
计算机可读介质,所述计算机可读介质上存储有计算机指令,所述计算机指令在被处理器执行时,使所述处理器执行所述的一种基于POI的HTML表格生成EXCEL的方法。
本发明的有益之处是:
本发明提供一种基于POI的HTML表格生成EXCEL的方法,基于POI,获取前端HTML的table发送至后端,后端利用相应工具类将table中对应于excel的sheet,在table中自定义属性标明导出到excel的sheet的相关参数信息,将前端的html代码翻译为excel;通过本发明方法在网页使用过程中获取网页的文本,能够快速完善地在获取HTML中文本时生成EXCEL表格,完成HTML中table转换为excel,且保证内容不缺失。
附图说明
图1是本发明方法流程示意图;
图2是HTML表格界面示意图;
图3是对应图2利用本发明方法生成EXCEL后界面示意图。
具体实施方式
下面结合附图和具体实施例对本发明作进一步说明,以使本领域的技术人员可以更好地理解本发明并能予以实施,但所举实施例不作为对本发明的限定。
本发明提供一种基于POI的HTML表格生成EXCEL的方法,基于POI,获取前端HTML的table发送至后端,
后端利用相应工具类将table中对应于excel的sheet,在table中自定义属性标明导出到excel的sheet的相关参数信息,将前端的html代码翻译为excel。
利用本发明方法可以快速完善的方法在获取HTML中文本时生成EXCEL表格。
具体应用中,在本发明的一些实施例中,首先搜集所有需要导出的table发送至后端,table的样式按照标准格式标准化,可以利用虚拟表单提交,
后端利用相应工具类将table中对应于excel的sheet,即每一个table对应于excel的每一个sheet,如果需要多个sheet,那么就在table的外层使用tables标签包含,
在table中自定义属性标明导出到excel的sheet的相关参数信息,比如sheet的名称、固定行列,表格名称等信息,见表1。
表1
参数 | 说明 |
row-split | 冻结行树 |
col-split | 冻结列数 |
sheet-title | Sheet标题 |
sheet-name | Sheet的名称 |
rowspan | 合并行数 |
colspan | 合并列数 |
background-color | 单元格背景颜色 |
将html table转成excel具体为:,记录下来所占的行和列,然后填充合并。获取表的名字,表的标题,冻结列数,冻结行数,数据源,此处需要考虑数据源为空的情况;然后生成表体,有且只有唯一的一个tr,导出数据过多时,由于cell styles太多create造成报错The maximum number of cell styles was exceeded,将cellstyle设置放到循环外面;设置列宽,若为中文可以设置为*2*256,部分标题文字较长,导致列很宽,可以暂时固定宽度;合并表头,解决合并单元格后的边框问题,计算并设置冻结行列数,生成行内容:tdLs th或者td集合、rowIndex行号、row POI行对象、startCellIndex开始索引、cellStyle样式、crossRowEleMetaLs跨行元数据集合,获得rowSpan占据的单元格,rowIndex行号、colIndex列号、crossRowEleMetaLs跨行列元数据、返回当前行在某列需要占据单元格,将css样式转换为poi对应样式,完成html代码翻译为excel。
本发明提供一种基于POI的HTML表格生成EXCEL的系统,包括信息获取模块及生成翻译模块,
信息获取模块基于POI,获取前端HTML的table发送至后端,
后端生成翻译模块利用相应工具类将table中对应于excel的sheet,在table中自定义属性标明导出到excel的sheet的相关参数信息,将前端的html代码翻译为excel。
上述系统内的各模块之间的信息交互、执行过程等内容,由于与本发明方法实施例基于同一构思,具体内容可参见本发明方法实施例中的叙述,此处不再赘述。
以及本发明提供一种基于POI的HTML表格生成EXCEL的装置,包括至少一个存储器和至少一个处理器;
所述至少一个存储器,用于存储机器可读程序;
所述至少一个处理器,用于调用所述机器可读程序,执行所述的一种基于POI的HTML表格生成EXCEL的方法。
上述装置内的处理器的信息交互、执行可读程序过程等内容,由于与本发明方法实施例基于同一构思,具体内容可参见本发明方法实施例中的叙述,此处不再赘述。
需要说明的是,上述较佳实施例各流程和各系统装置结构中不是所有的步骤和模块都是必须的,可以根据实际的需要忽略某些步骤或模块。各步骤的执行顺序不是固定的,可以根据需要进行调整。上述各实施例中描述的系统结构可以是物理结构,也可以是逻辑结构,即,有些模块可能由同一物理实体实现,或者,有些模块可能分由多个物理实体实现,或者,可以由多个独立设备中的某些部件共同实现。
本发明还提供计算机可读介质,所述计算机可读介质上存储有计算机指令,所述计算机指令在被处理器执行时,使所述处理器执行所述的一种基于POI的HTML表格生成EXCEL的方法。具体地,可以提供配有存储介质的系统或者装置,在该存储介质上存储着实现上述实施例中任一实施例的功能的软件程序代码,且使该系统或者装置的计算机(或CPU或MPU)读出并执行存储在存储介质中的程序代码。
在这种情况下,从存储介质读取的程序代码本身可实现上述实施例中任何一项实施例的功能,因此程序代码和存储程序代码的存储介质构成了本发明的一部分。
用于提供程序代码的存储介质实施例包括软盘、硬盘、磁光盘、光盘(如CD-ROM、CD-R、CD-RW、DVD-ROM、DVD-RAM、DVD-RW、DVD+RW)、磁带、非易失性存储卡和ROM。可选择地,可以由通信网络从服务器计算机上下载程序代码。
此外,应该清楚的是,不仅可以通过执行计算机所读出的程序代码,而且可以通过基于程序代码的指令使计算机上操作的操作系统等来完成部分或者全部的实际操作,从而实现上述实施例中任意一项实施例的功能。
此外,可以理解的是,将由存储介质读出的程序代码写到插入计算机内的扩展板中所设置的存储器中或者写到与计算机相连接的扩展单元中设置的存储器中,随后基于程序代码的指令使安装在扩展板或者扩展单元上的CPU等来执行部分和全部实际操作,从而实现上述实施例中任一实施例的功能。
以上所述实施例仅是为充分说明本发明而所举的较佳的实施例,本发明的保护范围不限于此。本技术领域的技术人员在本发明基础上所作的等同替代或变换,均在本发明的保护范围之内。本发明的保护范围以权利要求书为准。
Claims (8)
1.一种基于POI的HTML表格生成EXCEL的方法,其特征是基于POI,获取前端HTML的table发送至后端,
后端利用相应工具类将table中对应于excel的sheet,在table中自定义属性标明导出到excel的sheet的相关参数信息,将前端的html代码翻译为excel。
2.根据权利要求1所述的一种基于POI的HTML表格生成EXCEL的方法,其特征是利用相应工具类记录table中单元格合并的信息,填充合并,获取excel相关参数信息,生成表体。
3.根据权利要求2所述的一种基于POI的HTML表格生成EXCEL的方法,其特征是过程为:
记录table的th中包含的单元格合并的合并列数和合并行数,进行填充合并,
获取excel的标题,冻结列数,冻结行数,数据源,
利用相应工具类生成excel行内容和列内容。
4.一种基于POI的HTML表格生成EXCEL的系统,其特征是包括信息获取模块及生成翻译模块,
信息获取模块基于POI,获取前端HTML的table发送至后端,
后端生成翻译模块利用相应工具类将table中对应于excel的sheet,在table中自定义属性标明导出到excel的sheet的相关参数信息,将前端的html代码翻译为excel。
5.根据权利要求4所述的一种基于POI的HTML表格生成EXCEL的系统,其特征是利用相应工具类记录table中单元格合并的信息,填充合并,获取excel相关参数信息,生成表体。
6.根据权利要求5所述的一种基于POI的HTML表格生成EXCEL的系统,其特征是生成翻译模块生成excel过程为:
记录table的th中包含的单元格合并的合并列数和合并行数,进行填充合并,
获取excel的标题,冻结列数,冻结行数,数据源,
利用相应工具类生成excel行内容和列内容。
7.一种基于POI的HTML表格生成EXCEL的装置,其特征是包括至少一个存储器和至少一个处理器;
所述至少一个存储器,用于存储机器可读程序;
所述至少一个处理器,用于调用所述机器可读程序,执行权利要求1至3中任一所述的一种基于POI的HTML表格生成EXCEL的方法。
8.计算机可读介质,其特征是所述计算机可读介质上存储有计算机指令,所述计算机指令在被处理器执行时,使所述处理器执行权利要求1至3任一所述的一种基于POI的HTML表格生成EXCEL的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110086036.6A CN112733503A (zh) | 2021-01-22 | 2021-01-22 | 一种基于poi的html表格生成excel的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110086036.6A CN112733503A (zh) | 2021-01-22 | 2021-01-22 | 一种基于poi的html表格生成excel的方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112733503A true CN112733503A (zh) | 2021-04-30 |
Family
ID=75593683
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110086036.6A Pending CN112733503A (zh) | 2021-01-22 | 2021-01-22 | 一种基于poi的html表格生成excel的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112733503A (zh) |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103150298A (zh) * | 2013-03-13 | 2013-06-12 | 河海大学 | 基于Web的流域水调业务可定制复杂表格生成方法 |
CN103425692A (zh) * | 2012-05-22 | 2013-12-04 | 阿里巴巴集团控股有限公司 | 数据导出方法和装置 |
CN103853806A (zh) * | 2013-09-26 | 2014-06-11 | 深圳海联讯科技股份有限公司 | 一种表格转换方法及装置 |
CN105446944A (zh) * | 2015-11-12 | 2016-03-30 | 国云科技股份有限公司 | 基于JavaScript实现HTML表格导出EXCEL的方法 |
CN109558575A (zh) * | 2018-10-25 | 2019-04-02 | 平安科技(深圳)有限公司 | 在线表格编辑方法、装置、计算机设备及存储介质 |
CN109815645A (zh) * | 2019-01-25 | 2019-05-28 | 浪潮天元通信信息系统有限公司 | 一种实现后台服务器导出前台界面的方法 |
CN111309313A (zh) * | 2019-10-17 | 2020-06-19 | 天津大学 | 一种快速生成html以及存储表单数据的方法 |
CN112487329A (zh) * | 2020-12-15 | 2021-03-12 | 社宝信息科技(上海)有限公司 | 基于java实现html表格导出excel的方法 |
-
2021
- 2021-01-22 CN CN202110086036.6A patent/CN112733503A/zh active Pending
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103425692A (zh) * | 2012-05-22 | 2013-12-04 | 阿里巴巴集团控股有限公司 | 数据导出方法和装置 |
CN103150298A (zh) * | 2013-03-13 | 2013-06-12 | 河海大学 | 基于Web的流域水调业务可定制复杂表格生成方法 |
CN103853806A (zh) * | 2013-09-26 | 2014-06-11 | 深圳海联讯科技股份有限公司 | 一种表格转换方法及装置 |
CN105446944A (zh) * | 2015-11-12 | 2016-03-30 | 国云科技股份有限公司 | 基于JavaScript实现HTML表格导出EXCEL的方法 |
CN109558575A (zh) * | 2018-10-25 | 2019-04-02 | 平安科技(深圳)有限公司 | 在线表格编辑方法、装置、计算机设备及存储介质 |
CN109815645A (zh) * | 2019-01-25 | 2019-05-28 | 浪潮天元通信信息系统有限公司 | 一种实现后台服务器导出前台界面的方法 |
CN111309313A (zh) * | 2019-10-17 | 2020-06-19 | 天津大学 | 一种快速生成html以及存储表单数据的方法 |
CN112487329A (zh) * | 2020-12-15 | 2021-03-12 | 社宝信息科技(上海)有限公司 | 基于java实现html表格导出excel的方法 |
Non-Patent Citations (2)
Title |
---|
MR_初晨: ""利用poi将Html中table转为Excel"", pages 1 - 12, Retrieved from the Internet <URL:稀土掘金技术社区(https://juejin.cn/post/6844903822175764494)> * |
欢欢2776479680: ""使用poi和dom4j将html中table转为excel"", pages 1 - 9, Retrieved from the Internet <URL:CSDN博客(https://blog.csdn.net/qq_30682027/article/details/80367383)> * |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109299446B (zh) | 报告生成方法及装置 | |
CN101122899B (zh) | 报表的生成方法和设备 | |
CN103635897B (zh) | 对运行页面进行动态更新的方法 | |
CN102467497B (zh) | 校对程序中的文本翻译的方法和系统 | |
US8010845B2 (en) | System and method for error reporting in software applications | |
US20030034989A1 (en) | Application editing apparatus and data processing method and program | |
US7720814B2 (en) | Repopulating a database with document content | |
CN106776584A (zh) | 文字显示方法、翻译表生成方法、文件翻译方法及装置 | |
CN106469140A (zh) | 一种报表生成系统及其方法 | |
US20130174024A1 (en) | Method and device for converting document format | |
CN103136317A (zh) | 工程管理系统工程合同在线审批信息化实现方法 | |
JP2005339566A (ja) | コンテンツを開始テンプレートとターゲットテンプレートとの間でマップするための方法およびシステム | |
CN103853806A (zh) | 一种表格转换方法及装置 | |
CN107544808A (zh) | 一种网页表单的生成方法和装置 | |
CN111104557A (zh) | 基于标准文档标记语言规范的异构文档处理系统及方法 | |
CN114238575A (zh) | 文档解析方法、系统、计算机设备及计算机可读存储介质 | |
CN112363706A (zh) | 一种嵌套组合的预处理方法及设备 | |
CN116090416B (zh) | 基于标准知识图谱的标准编写方法、系统、设备及介质 | |
CN112733503A (zh) | 一种基于poi的html表格生成excel的方法 | |
CN1973285A (zh) | 文档处理方法及其装置 | |
CN115857927A (zh) | 一种基于接口描述语言的联动表单生成方法及装置 | |
CN105843661B (zh) | 一种面向主机系统的代码重定位方法及其系统 | |
CN112699642B (zh) | 复杂医疗文书的索引提取方法及装置、介质及电子设备 | |
CN111651696B (zh) | 产品标签的定制方法及装置、计算机存储介质、电子设备 | |
CN111767703B (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 | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20210430 |