CN106598927B - 一种快速生成Excel表单的方法 - Google Patents

一种快速生成Excel表单的方法 Download PDF

Info

Publication number
CN106598927B
CN106598927B CN201611083964.2A CN201611083964A CN106598927B CN 106598927 B CN106598927 B CN 106598927B CN 201611083964 A CN201611083964 A CN 201611083964A CN 106598927 B CN106598927 B CN 106598927B
Authority
CN
China
Prior art keywords
quickly
cell
point coordinate
column
creation
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
Application number
CN201611083964.2A
Other languages
English (en)
Other versions
CN106598927A (zh
Inventor
梁炜平
杨松
季统凯
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Zhongke Cloud (Dongguan) Technology Co.,Ltd.
Original Assignee
G Cloud Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by G Cloud Technology Co Ltd filed Critical G Cloud Technology Co Ltd
Priority to CN201611083964.2A priority Critical patent/CN106598927B/zh
Publication of CN106598927A publication Critical patent/CN106598927A/zh
Application granted granted Critical
Publication of CN106598927B publication Critical patent/CN106598927B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/166Editing, e.g. inserting or deleting
    • G06F40/174Form filling; Merging

Abstract

本发明涉及系统软件报表技术领域,尤其是一种快速生成Excel的方法。本发明包含了6个核心部分:快速创建大标题;快速创建信息‑用户名和日期;快速创建小标题;快速创建数据列表且自动合并单元格;快速插入图片;快速保存到文件。本发明使用了POI的HSSF作为基础,进行了代码封装以及加入了自动合并单元格的算法,开发者只需要关注数据,不再需要费神于处理逻辑,用法简单,快速便捷,极大地减轻了开发者的编码难度。

Description

一种快速生成Excel表单的方法
技术领域
本发明涉及系统软件报表技术领域,尤其是一种快速生成Excel表单的方法。
技术背景
系统软件里,将报表导出为Excel是很常见的功能。在Apache软件基金会的开放源码函式库中,POI提供了Java程序对Microsoft Office格式档案读和写的功能,其中HSSF是对于Excel的操作,开发者可以用它达到很多不同的目的;但是使用它生成Excel的时候,可能需要编写大量的代码。
在现有的技术里,有很多以POI的HSSF作为基础的发明,但是它们都没有支持数据列表单元格的纵向和横向合并;此外,在现有的发明里,报表元素都是按顺序从上往下紧密排列的,并没有支持报表元素的自定义左侧空白列数和上方空白行数。
发明内容
本发明解决的技术问题在于提供一种快速生成Excel表单的方法;以POI的HSSF作为基础,进行了代码封装以及加入了自动合并单元格的算法,用法简单,快速便捷,极大地减轻了开发者的编码难度。
本发明解决上述技术问题的技术方案是:
所述的方法包括快速创建大标题、快速创建信息-用户名和日期、快速创建小标题、快速创建数据列表且快速插入图片和快速保存到文件;
所述的数据列表,是数据的二维数组,允许设置上方空白行数和左侧空白列数,
利用合并算法将空的单元格进行合并;具体步骤是:
获取所有单元格的数据,作为二维数组;定义起点坐标数组和终点坐标数组,起点坐标相当于合并矩形的左上角,终点坐标相当于合并矩形的右下角,根据这两个坐标,可以进行最后的单元格合并;第一个单元格即坐标为[0,0]的单元格,以及非空的单元格都是合并的起点;每一列从上到下进行遍历,当找到合并的起点时,先纵向找到连续不断的空白单元格,作为纵向合并范围,然后以纵向合并范围为出发线,向右找到空白单元格,作为横向合并范围,组成最大矩形,便将该矩形的左上角坐标存到起点坐标数组,将该矩形的右下角坐标存到终点坐标数组,矩形范围中的单元格全都标记为“已遍历”,不再进行判断;继续每一列从上到下进行遍历,直至所有单元格都被标记为“已遍历”;遍历结束之后,根据起点坐标数组和终点坐标数组,进行单元格合并。
所述的快速创建大标题中大标题的样式为:行偏高、字号偏大、跨列居中,并且允许设置跨列数。
所述的快速创建信息-用户名和日期中,信息的样式为:跨列居右、内容;并且允许设置跨列数;内容是“导出人:liangwp导出时间:2016-07-26”。
所述的快速创建小标题中的小标题的样式为:跨列居左、有背景色,并且允许设置上方空白行数和左侧空白列数。
所述的插入图片的格式为dib、emf、jpeg、pict、png或wmf,并且允许设置上方空白行数和左侧空白列数。
所述的快速保存到文件的文件格式为xls。
本发明命名为CzExcel,使用了POI的HSSF作为基础,进行了代码封装以及加入了自动合并单元格的算法,开发者只需要关注数据,不再需要费神于处理逻辑,用法简单,快速便捷,极大地减轻了开发者的编码难度。
以POI的HSSF作为基础,进行了代码封装以及加入了自动合并单元格的算法,开发者只需要关注数据,不再需要费神于处理逻辑,用法简单,快速便捷,极大地减轻了开发者的编码难度。
本发明的最大特点就在于智能识别然后自动进行纵向和横向的单元格合并,这有别于现有的发明,现有的发明只达到了表头单元格的合并,并没有支持数据列表的单元格合并,本发明则支持据列表单元格的自动纵向和横向合并;并且本发明允许设置报表元素的上方空白行数和左侧空白列数,达到了自定义位置的效果,灵活便捷。
附图说明
下面结合附图对本发明进一步说明:
图1为本发明的功能图;
图2为本发明的自动合并单元格算法的流程图;
具体实施方式
1、CzExcel的功能如图1所示。
2、CzExcel依赖于开源的代码包poi.jar,插入图片还需要commons-codec.jar(插入图片的话,poi版本要在3.12以上)。
3、快速创建大标题,行偏高、字号偏大、跨列居中,并且允许设置上方空白行数和左侧空白列数,代码实现如下:
4、快速创建信息-用户名和日期,跨列居右、格式如“导出人:liangwp导出时间:2016-07-26”,并且允许设置上方空白行数和左侧空白列数,代码实现如下:
5、快速创建小标题,跨列居左、有背景色,并且允许设置上方空白行数和左侧空白列数,代码实现如下:
6、自动合并单元格,算法流程,如图2所示。
思路为:获取所有单元格的数据,作为二维数组;定义起点坐标数组和终点坐标数组,起点坐标相当于合并矩形的左上角,终点坐标相当于合并矩形的右下角,根据这两个坐标,可以进行最后的单元格合并;第一个单元格即坐标为[0,0]的单元格,以及非空的单元格都是合并的起点;每一列从上到下进行遍历,当找到合并的起点时,先纵向找到连续不断的空白单元格,作为纵向合并范围,然后以纵向合并范围为出发线,向右找到空白单元格,作为横向合并范围,组成最大矩形,便将该矩形的左上角坐标存到起点坐标数组,将该矩形的右下角坐标存到终点坐标数组,矩形范围中的单元格全都标记为“已遍历”,不再进行判断;继续每一列从上到下进行遍历,直至所有单元格都被标记为“已遍历”;遍历结束之后,根据起点坐标数组和终点坐标数组,进行单元格合并。
7、快速创建数据列表且自动合并单元格,并且允许设置上方空白行数和左侧空白列数,代码实现如下:
8、快速插入图片,格式为dib、emf、jpeg、pict、png、wmf,并且允许设置上方空白行数和左侧空白列数,代码实现如下:
9、快速保存到文件,格式为xls,代码实现如下:

Claims (6)

1.一种快速生成Excel表单的方法,其特征在于,所述的方法包括快速创建大标题、快速创建信息-用户名和日期、快速创建小标题、快速创建数据列表且快速插入图片和快速保存到文件;
所述的数据列表,是数据的二维数组,允许设置上方空白行数和左侧空白列数,
利用合并算法将空的单元格进行合并;具体步骤是:
获取所有单元格的数据,作为二维数组;定义起点坐标数组和终点坐标数组,起点坐标相当于合并矩形的左上角,终点坐标相当于合并矩形的右下角,根据这两个坐标,可以进行最后的单元格合并;第一个单元格即坐标为[0,0]的单元格,以及非空的单元格都是合并的起点;每一列从上到下进行遍历,当找到合并的起点时,先纵向找到连续不断的空白单元格,作为纵向合并范围,然后以纵向合并范围为出发线,向右找到空白单元格,作为横向合并范围,组成最大矩形,便将该矩形的左上角坐标存到起点坐标数组,将该矩形的右下角坐标存到终点坐标数组,矩形范围中的单元格全都标记为“已遍历”,不再进行判断;继续每一列从上到下进行遍历,直至所有单元格都被标记为“已遍历”;遍历结束之后,根据起点坐标数组和终点坐标数组,进行单元格合并。
2.根据权利要求1所述的快速生成Excel表单的方法,其特征在于:所述的快速创建大标题中大标题的样式为:行偏高、字号偏大、跨列居中,并且允许设置跨列数。
3.根据权利要求1所述的快速生成Excel表单的方法,其特征在于:所述的快速创建信息-用户名和日期中,信息的样式为:跨列居右、内容;并且允许设置跨列数;内容是“导出人:liangwp导出时间:2016-07-26”。
4.根据权利要求1所述的快速生成Excel表单的方法,其特征在于:所述的快速创建小标题中的小标题的样式为:跨列居左、有背景色,并且允许设置上方空白行数和左侧空白列数。
5.根据权利要求1所述的快速生成Excel表单的方法,其特征在于:所述的插入图片的格式为dib、emf、jpeg、pict、png或wmf,并且允许设置上方空白行数和左侧空白列数。
6.根据权利要求1所述的快速生成Excel表单的方法,其特征在于:所述的快速保存到文件的文件格式为xls。
CN201611083964.2A 2016-11-30 2016-11-30 一种快速生成Excel表单的方法 Active CN106598927B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201611083964.2A CN106598927B (zh) 2016-11-30 2016-11-30 一种快速生成Excel表单的方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201611083964.2A CN106598927B (zh) 2016-11-30 2016-11-30 一种快速生成Excel表单的方法

Publications (2)

Publication Number Publication Date
CN106598927A CN106598927A (zh) 2017-04-26
CN106598927B true CN106598927B (zh) 2019-08-30

Family

ID=58594707

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201611083964.2A Active CN106598927B (zh) 2016-11-30 2016-11-30 一种快速生成Excel表单的方法

Country Status (1)

Country Link
CN (1) CN106598927B (zh)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2001001284A2 (en) * 1999-06-30 2001-01-04 Biztro, Inc. Intelligent forms for improved automated workflow processing
CN101046800A (zh) * 2007-04-18 2007-10-03 北京润乾信息系统技术有限公司 一种子报表引入方法
CN102184166A (zh) * 2011-05-09 2011-09-14 江西省电力公司信息通信中心 基于办公软件Excel表单转换为InfoPath表单的方法
CN103778107A (zh) * 2012-10-25 2014-05-07 上海宝信软件股份有限公司 一种基于excel快速动态生成表单的方法与平台

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100364351B1 (ko) * 2000-08-03 2002-12-11 김광철 웹페이지 양식 채워넣기 시스템 및 그 방법

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2001001284A2 (en) * 1999-06-30 2001-01-04 Biztro, Inc. Intelligent forms for improved automated workflow processing
CN101046800A (zh) * 2007-04-18 2007-10-03 北京润乾信息系统技术有限公司 一种子报表引入方法
CN102184166A (zh) * 2011-05-09 2011-09-14 江西省电力公司信息通信中心 基于办公软件Excel表单转换为InfoPath表单的方法
CN103778107A (zh) * 2012-10-25 2014-05-07 上海宝信软件股份有限公司 一种基于excel快速动态生成表单的方法与平台

Also Published As

Publication number Publication date
CN106598927A (zh) 2017-04-26

Similar Documents

Publication Publication Date Title
EP2291010A1 (en) Structure processing method and apparatus for layout file
US20070136660A1 (en) Creation of semantic objects for providing logical structure to markup language representations of documents
CN101645140B (zh) 二维码生成方法、解码方法及装置
US8209600B1 (en) Method and apparatus for generating layout-preserved text
CN104516867A (zh) 一种表格重排方法和系统
US20170220858A1 (en) Optical recognition of tables
CN101706821A (zh) 基于标签的移动互联网页面设计系统及方法
US8522138B2 (en) Content analysis apparatus and method
CN107679442A (zh) 单证信息录入的方法、装置、计算机设备及存储介质
TW200416583A (en) Definition data generation method of account book voucher and processing device of account book voucher
CN101008940B (zh) 自动处理字体缺失的方法与装置
CN107423377A (zh) 交互式儿童图书索引系统及方法
CN102508826A (zh) 一种文档中的表格显示方法及装置
CN103970895A (zh) 基于移动终端及云技术的多媒体文献处理系统平台及方法
CN106598927B (zh) 一种快速生成Excel表单的方法
CN103559512A (zh) 一种文字识别输出方法及系统
JP6527256B1 (ja) 帳票対応システム、帳票対応方法及び帳票対応プログラム
CN103810199A (zh) 一种目录的制作方法及装置
CN101980133B (zh) 双层电子文件文本选择区域偏差的检测方法和系统
CN110688825A (zh) 一种版式文档中的含线表格信息提取方法
US10817154B2 (en) System and method for processing screenshot-type note of streaming document
CN103488619A (zh) 一种用于进行文档文件处理的方法及装置
JP2008027133A (ja) 帳票処理装置及び帳票処理方法ならびに帳票処理方法を実行するプログラムと記憶媒体
CN111104871B (zh) 表格区域识别模型生成方法、装置及表格定位方法、装置
WO2015060821A1 (en) Interactive optical codes

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
CB02 Change of applicant information

Address after: 523808 19th Floor, Cloud Computing Center, Chinese Academy of Sciences, No. 1 Kehui Road, Songshan Lake Hi-tech Industrial Development Zone, Dongguan City, Guangdong Province

Applicant after: G-CLOUD TECHNOLOGY Co.,Ltd.

Address before: 523808 Guangdong province Dongguan City Songshan Lake Science and Technology Industrial Park Building No. 14 Keyuan pine

Applicant before: G-CLOUD TECHNOLOGY Co.,Ltd.

CB02 Change of applicant information
GR01 Patent grant
GR01 Patent grant
TR01 Transfer of patent right

Effective date of registration: 20230522

Address after: Room 303, Building 1, No.1 Kehui Road, Songshan Lake Park, Dongguan City, Guangdong Province, 523000

Patentee after: Zhongke Cloud (Dongguan) Technology Co.,Ltd.

Address before: 523808 19th floor, Cloud Computing Center, Chinese Academy of Sciences, No.1 Kehui Road, Songshanhu high tech Industrial Development Zone, Dongguan City, Guangdong Province

Patentee before: G-CLOUD TECHNOLOGY Co.,Ltd.

TR01 Transfer of patent right