CN106598927A - 一种快速生成Excel的方法 - Google Patents

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

Info

Publication number
CN106598927A
CN106598927A CN201611083964.2A CN201611083964A CN106598927A CN 106598927 A CN106598927 A CN 106598927A CN 201611083964 A CN201611083964 A CN 201611083964A CN 106598927 A CN106598927 A CN 106598927A
Authority
CN
China
Prior art keywords
cell
point coordinate
blank
starting point
quickly
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.)
Granted
Application number
CN201611083964.2A
Other languages
English (en)
Other versions
CN106598927B (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

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)
  • User Interface Of Digital Computer (AREA)

Abstract

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

Description

一种快速生成Excel的方法
技术领域
本发明涉及系统软件报表技术领域,尤其是一种快速生成Excel的方法。
技术背景
系统软件里,将报表导出为Excel是很常见的功能。在Apache软件基金会的开放源码函式库中,POI提供了Java程序对MicFosoft 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 true CN106598927A (zh) 2017-04-26
CN106598927B 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 (5)

* 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
US20050039112A1 (en) * 2000-08-03 2005-02-17 Kim Kwang-Chul System for inserting field data on a web-page and method thereof
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快速动态生成表单的方法与平台

Patent Citations (5)

* 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
US20050039112A1 (en) * 2000-08-03 2005-02-17 Kim Kwang-Chul System for inserting field data on a web-page and method thereof
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
CN106598927B (zh) 2019-08-30

Similar Documents

Publication Publication Date Title
CN105447174B (zh) 一种报表生成方法及装置
CN105302550B (zh) 将页面转为版式数据流文件的方法及系统
CN101853246B (zh) 一种文档格式的转换方法及装置
CN102043762B (zh) 一种版面比对的方法及装置
CN103268340B (zh) 基于层次式索引的版式可回流文件建立和绘制方法
US20170220858A1 (en) Optical recognition of tables
JPS58212251A (ja) ドツト・バタ−ンの編集方法
CN101656024A (zh) 一种电子学习装置及其实现方法
CN101751476A (zh) 电子书签标记方法和装置
CN103886023B (zh) Excel数据表的存储、提取方法及系统
CN102339275A (zh) 电子书籍批注处理方法及装置
CN102467653A (zh) 一种图文识别方法及系统
CN205139996U (zh) 一种智能广告设计系统
CN104318538B (zh) 一种二维序列帧图片拼接成大图片的方法及其所用的装置
WO2019041442A1 (zh) 图表数据结构化提取方法、系统、电子设备及计算机可读存储介质
CN103500257A (zh) Dwg格式图纸识别方法及系统
CN113869017A (zh) 基于人工智能的表格图像重构方法、装置、设备及介质
CN104424161A (zh) 手写文档处理装置,手写文档处理方法,和手写文档处理程序
CN103559512B (zh) 一种文字识别输出方法及系统
CN102915549A (zh) 一种图像文件的处理方法及装置
CN103345533A (zh) 一种数据存储方法及装置
CN109446506A (zh) 一种电子表单表格自动再造的方法和装置
CN103098003A (zh) 用于显示数据对象的方法、软件和设备
CN106598927A (zh) 一种快速生成Excel的方法
CN110377559A (zh) 一种pdf文件数据提取方法、装置及存储介质

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