hutool读取和导出excel_Office文档操作(Hutool-poi)

Excel生成-ExcelWriter

由来

Excel有读取也便有写出,Hutool针对将数据写出到Excel做了封装。

原理

Hutool将Excel写出封装为ExcelWriter,原理为包装了Workbook对象,每次调用merge(合并单元格)或者write(写出数据)方法后只是将数据写入到Workbook,并不写出文件,只有调用flush或者close方法后才会真正写出文件。

由于机制原因,在写出结束后需要关闭ExcelWriter对象,调用close方法即可关闭,此时才会释放Workbook对象资源,否则带有数据的Workbook一直会常驻内存。

使用例子

1. 将行列对象写出到Excel

我们先定义一个嵌套的List,List的元素也是一个List,内层的一个List代表一行数据,每行都有4个单元格,最终list对象代表多行数据。

Listrow1=CollUtil.newArrayList("aa","bb","cc","dd");

Listrow2=CollUtil.newArrayList("aa1","bb1","cc1","dd1");

Listrow3=CollUtil.newArrayList("aa2","bb2","cc2","dd2");

Listrow4=CollUtil.newArrayList("aa3","bb3","cc3","dd3");

Listrow5=CollUtil.newArrayList("aa4","bb4","cc4","dd4");

List>rows=CollUtil.newArrayList(row1,row2,row3,row4,row5);

然后我们创建ExcelWriter对象后写出数据:

//通过工具类创建writer

ExcelWriterwriter=ExcelUtil.getWriter("d:/writeTest.xlsx");

//通过构造方法创建writer

//ExcelWriter writer = new ExcelWriter("d:/writeTest.xls");

//跳过当前行,既第一行,非必须,在此演示用

writer.passCurrentRow();

//合并单元格后的标题行,使用默认标题样式

writer.merge(list1.size()-1,"测试标题");

//一次性写出内容,强制输出标题

writer.write(rows,true);

//关闭writer,释放内存

writer.clos

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值