优化poi 导入导出excel,不造成电脑卡死问题

其实生活中不乏很多需要从数据库向excel导入数据的情况,但是如果数据库的东西很多且字段很长,会造成卡死机的状态。
那么如何解决这个一问题呢,其实网络上有一门技术叫做poi,官方介绍是:
Apache POI是Apache软件基金会的开放源码函式库,POI提供API给Java程序对Microsoft Office格式档案读和写的功能。
其实可以把它理解为Java和Microsoft之间互相沟通的一门技术
Microsoft其实除了excel 还有ppt,word, 相互对应的列举如下:
结构:

HSSF - 提供读写Microsoft Excel格式档案的功能。

XSSF - 提供读写Microsoft Excel OOXML格式档案的功能。

HWPF - 提供读写Microsoft Word格式档案的功能。

HSLF - 提供读写Microsoft PowerPoint格式档案的功能。

HDGF - 提供读写Microsoft Visio格式档案的功能。

那我今天为大家简单的介绍一下如何优化poi导出问题
1.常用类说明

类名 说明
HSSFWorkbook Excel的文档对象
HSSFSheet sheet页
HSSFRow Excel的行
HSSFCell Excel的格子单元
HSSFFont Excel字体

HSSFDataFormat 格子单元的日期格式
HSSFHeader Excel文档Sheet的页眉
HSSFFooter Excel文档Sheet的页脚
HSSFCellStyle 格子单元样式
HSSFDateUtil 日期
HSSFPrintSetup 打印
HSSFErrorConstants 错误信息表

1.2 .1新建一个表格
首先要将下载好的jar包,解压将根目录下的所有包,以及将lib目录下的commons-logging-1.2.jar 和 junit-4.12.jar 以及 log4j1.2.17.jar 这三个通用包导入到项目的lib的目录下,poi-4.0.0.jar包是最重要的。
主要介绍HSSFWorkbook
/**
* 多态实现
* HSSFWorkbook 是对于xls进行操作
/
Workbook wb=new HSSFWorkbook();//新建一个工作簿
/
*
* 导出所以用到输出流
*参数为输出的地址
*/
FileOutputStream fout=new FileOutputStream(“E:\Demo\poi.xls”);
wb.write(fout);//Workbook提供了write的方法
fout.close();//将输出流关闭

1.1.2新建sheet页
在新建工作簿的基础上新建sheet页,wb.createSheet() 返回一个Sheet()如果不进行操作不用接收
/**
* 多态实现
* HSSFWorkbook 是对于xls进行操作
/
Workbook wb=new HSSFWorkbook();//新建一个工作簿
/
*
* 导出所以用到输出流
/
FileOutputStream fout=new FileOutputStream(“E:\Demo\poi.xls”);
/
*
* 有有参和无参数两种
* 参数为sheet页的名字
* 不写参数默认名字为sheet0到n
*/
Sheet sheet1 = wb.createSheet();//创建一个sheet页
Sheet sheet2 = wb.createSheet(“第二个sheet页”);//创建第二个sheet页
wb.write(fout);
fout.close();//将输出流关闭
一些工作表的方法
workbook.setActiveSheet(工作表下标);//设置默认工作表
workbook.setSheetName(2(工作表下标), “1234”(新名字));//重命名工作表
sheet1.setZoom(1,2);//50%显

  • 0
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值