The invention relates to the technical field of system software report, in particular to a method for rapidly generating Excel. The present invention includes 6 core parts: to quickly create headlines; quickly create information user name and date; quickly create headings; quickly create a list of data and automatically merge cells; fast insert pictures; quick save to file. The invention uses POI as the basis of HSSF, the code package and automatically merge cells into our algorithm, developers only need to focus on the data, no longer bother to processing logic, the usage is simple, fast and convenient, greatly reducing the developer's encoding difficulty.
【技术实现步骤摘要】
本专利技术涉及系统软件报表
,尤其是一种快速生成Excel的方法。技术背景系统软件里,将报表导出为Excel是很常见的功能。在Apache软件基金会的开放源码函式库中,POI提供了Java程序对MicFosoftOffice格式档案读和写的功能,其中HSSF是对于Excel的操作,开发者可以用它达到很多不同的目的;但是使用它生成Excel的时候,可能需要编写大量的代码。在现有的技术里,有很多以POI的HSSF作为基础的专利技术,但是它们都没有支持数据列表单元格的纵向和横向合并;此外,在现有的专利技术里,报表元素都是按顺序从上往下紧密排列的,并没有支持报表元素的自定义左侧空白列数和上方空白行数。
技术实现思路
本专利技术解决的技术问题在于提供一种快速生成Excel的方法;以POI的HSSF作为基础,进行了代码封装以及加入了自动合并单元格的算法,用法简单,快速便捷,极大地减轻了开发者的编码难度。本专利技术解决上述技术问题的技术方案是:所述的方法包括快速创建大标题、快速创建信息-用户名和日期、快速创建小标题、快速创建数据列表且快速插入图片、快速保存到文件;所述的数据列表,是数据的二维数组,允许设置上方空白行数和左侧空白列数,利用合并算法将空的单元格进行合并;具体步骤是:获取所有单元格的数据,作为二维数组;定义起点坐标数组和终点坐标数组,起点坐标相当于合并矩形的左上角,终点坐标相当于合并矩形的右下角,根据这两个坐标,可以进行最后的单元格合并;第一个单元格即坐标为[0,0]的单元格,以及非空的单元格都是合并的起点;每一列从上到下进行遍历,当找到合并的起点时, ...
【技术保护点】
一种快速生成Excel的方法,其特征在于,所述的方法包括快速创建大标题、快速创建信息‑用户名和日期、快速创建小标题、快速创建数据列表且快速插入图片、快速保存到文件;所述的数据列表,是数据的二维数组,允许设置上方空白行数和左侧空白列数,利用合并算法将空的单元格进行合并;具体步骤是:获取所有单元格的数据,作为二维数组;定义起点坐标数组和终点坐标数组,起点坐标相当于合并矩形的左上角,终点坐标相当于合并矩形的右下角,根据这两个坐标,可以进行最后的单元格合并;第一个单元格即坐标为[0,0]的单元格,以及非空的单元格都是合并的起点;每一列从上到下进行遍历,当找到合并的起点时,先纵向找到连续不断的空白单元格,作为纵向合并范围,然后以纵向合并范围为出发线,向右找到空白单元格,作为横向合并范围,组成最大矩形,便将该矩形的左上角坐标存到起点坐标数组,将该矩形的右下角坐标存到终点坐标数组,矩形范围中的单元格全都标记为“已遍历”,不再进行判断;继续每一列从上到下进行遍历,直至所有单元格都被标记为“已遍历”;遍历结束之后,根据起点坐标数组和终点坐标数组,进行单元格合并。
【技术特征摘要】
1.一种快速生成Excel的方法,其特征在于,所述的方法包括快速创建大标题、快速创建信息-用户名和日期、快速创建小标题、快速创建数据列表且快速插入图片、快速保存到文件;所述的数据列表,是数据的二维数组,允许设置上方空白行数和左侧空白列数,利用合并算法将空的单元格进行合并;具体步骤是:获取所有单元格的数据,作为二维数组;定义起点坐标数组和终点坐标数组,起点坐标相当于合并矩形的左上角,终点坐标相当于合并矩形的右下角,根据这两个坐标,可以进行最后的单元格合并;第一个单元格即坐标为[0,0]的单元格,以及非空的单元格都是合并的起点;每一列从上到下进行遍历,当找到合并的起点时,先纵向找到连续不断的空白单元格,作为纵向合并范围,然后以纵向合并范围为出发线,向右找到空白单元格,作为横向合并范围,组成最大矩形,便将该矩形的左上角坐标存到起点坐标数组,将该矩形的右下角坐标存到终点坐标数组,矩形范围中的单元格全都标记为“已遍历”,不再进行判断;继续每一列从上到下进行遍历,直至所有单元格都被标记为“已...
【专利技术属性】
技术研发人员:梁炜平,杨松,季统凯,
申请(专利权)人:国云科技股份有限公司,
类型:发明
国别省市:广东;44
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。