文档章节

JAVA导出EXCEL

反思酒店
 反思酒店
发布于 2017/05/24 17:23
字数 405
阅读 72
收藏 0

首先有个JAVA老程序,查询大约十万条数据导出xls文件,由于xls文件最大是65536行,所以会生成二个工作表Sheet,用户觉得不方便。希望生成Excel 2010版,就是xlsx格式的文件。

1、网上找了一下,java生成xls评论最好的是apache poi,发现系统已用,但是旧版本,并且无法替换。后来想到了一个办法,找到poi的源码,改了一下路径 ,例如org.apache.poi.xssf.usermodel.XSSFCell;  改为org.apache.poi.xssf.skg.usermodel.XSSFCell;   然后生成一个jar来调来,但是效果不好,太慢,数据达到三万条左右,服务器都快死。

2、分析过xlsx文件,它是一个ZIP文件,里面是xml文件。所以就想直接生成xml文件,再压缩成ZIP文件。但经过几次尝试,会出现数字类型有问题,还有经常会有异常,生成的文件打不开。

3、想通过excel的数据来源,直接用sql查询出来,但这个要在用户电脑上安装数据库的客户端,后来就放弃了

4、通过excel打开文件框里面的文件类型,一个一个的测试,发现dif类型支持超过7万,并且它本身是文件格式。然后找相关的资料,找到了JavaDIF。分析它,它是通过建立对象来生成的,但数据量太大时,会内存溢出。由于我不需要修改文件,就直接生成文本格式的方式,生成dif文件。

代码在CreateDifFile方法,需要修改一下

https://pan.baidu.com/s/1jIhyWpo

 

© 著作权归作者所有

反思酒店
粉丝 0
博文 3
码字总数 787
作品 0
佛山
私信 提问
XXL-EXCEL v1.1.1 发布,Java 对象和 Excel 转换工具

v1.1.1 新特性 1、支持设置Field水平位置,如居中、居左; 2、底层API优化,预约多Sheet操作支持; 3、空Cell导入抛错问题修复; 4、Cell数据类型识别优化,全类型支持; 5、导入时支持空Exc...

许雪里
2018/10/24
1K
9
Java对象和Excel转换工具XXL-EXCEL

《Java对象和Excel转换工具XXL-EXCEL》 ![donate](http://

许雪里
2017/09/13
629
0
XXL-EXCEL v1.1.0 发布,Java 对象和 Excel 转换工具

XXL-EXCEL v1.1.0 发布,新特性如下: 1、字段支持Date类型。至此,已经支持全部基础数据类型。 2、Java转换Excel时,字段类型改为从Field上读取,避免Value为空时空指针问题。 3、升级POI至...

许雪里
2017/12/15
726
5
GrapeCity Documents for Excel 文档 API 组件 V2.2 版本发布

GrapeCity Documents for Excel 文档 API 组件 V2.2 正式发布,本次新版本包含诸多重量级产品功能,如:将带有形状的电子表格导出为 PDF、控制分页和电子表格内容、将 Excel 电子表格的特定页...

葡萄城技术团队
07/16
556
0
Java Apache POI 操作 Excel 导出

版权声明:本文首发 http://asing1elife.com ,转载请注明出处。 https://blog.csdn.net/asing1elife/article/details/82655653 Java Apache POI 操作 Excel 导出 Java 可以通过 Apache POI......

asing1elife
2018/09/12
0
0

没有更多内容

加载失败,请刷新页面

加载更多

排序––快速排序(二)

根据排序––快速排序(一)的描述,现准备写一个快速排序的主体框架: 1、首先需要设置一个枢轴元素即setPivot(int i); 2、然后需要与枢轴元素进行比较即int comparePivot(int j); 3、最后...

FAT_mt
33分钟前
3
0
mysql概览

学习知识,首先要有一个总体的认识。以下为mysql概览 1-架构图 2-Detail csdn |简书 | 头条 | SegmentFault 思否 | 掘金 | 开源中国 |

程序员深夜写bug
今天
9
0
golang微服务框架go-micro 入门笔记2.2 micro工具之微应用利器micro web

micro web micro 功能非常强大,本文将详细阐述micro web 命令行的功能 阅读本文前你可能需要进行如下知识储备 golang分布式微服务框架go-micro 入门笔记1:搭建go-micro环境, golang微服务框架...

非正式解决方案
今天
6
0
前端——使用base64编码在页面嵌入图片

因为页面中插入一个图片都要写明图片的路径——相对路径或者绝对路径。而除了具体的网站图片的图片地址,如果是在自己电脑文件夹里的图片,当我们的HTML文件在别人电脑上打开的时候图片则由于...

被毒打的程序猿
今天
8
0
Flutter 系列之Dart语言概述

Dart语言与其他语言究竟有什么不同呢?在已有的编程语言经验的基础上,我们该如何快速上手呢?本篇文章从编程语言中最重要的组成部分,也就是基础语法与类型变量出发,一起来学习Dart吧 一、...

過愙
今天
5
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部