risc-v中文社区

 找回密码
 立即注册
查看: 874|回复: 0

[经验] java POI操作excel单元格

[复制链接]

347

主题

564

帖子

2237

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
2237
发表于 2022-5-10 15:55:21 | 显示全部楼层 |阅读模式
今天在做大数据处理实验时,发现POI处理日期字符串数据居然出异常了,大致代码逻辑如下:
while(...)
{
        SimpleDateFormat sdf3=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
        HSSFCell cell = hssfRow.createCell(colnum, CellType.STRING); //colnum列编号
       
        HSSFDataFormat hssfDataFormat = workbook.createDataFormat();
        HSSFCellStyle cellStyle = workbook.createCellStyle();
        cellStyle.setDataFormat(hssfDataFormat.getFormat("yyyy-MM-dd HH:mm:ss"));
        cell.setCellValue(sdf3.parse(value));//value是日期格式的字符串值
        cell.setCellStyle(cellStyle);
}
上面代码主要功能就是将许多日期格式字符串值写入excel的表格中。
当有很多值需要写入excel时,HSSFCellStyle cellStyle = workbook.createCellStyle()这句代码将会出现异常,
原因就是:POI对cellstyle有最大数量400限制;
所以,在处理大数据对象时,需要将HSSFCellStyle cellStyle = workbook.createCellStyle()这句放在while外面。

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



Archiver|手机版|小黑屋|risc-v中文社区

GMT+8, 2024-5-4 11:19 , Processed in 0.020284 second(s), 17 queries .

risc-v中文社区论坛 官方网站

Copyright © 2018-2021, risc-v open source

快速回复 返回顶部 返回列表