joe 发表于 2022-5-10 15:55:21

java POI操作excel单元格

今天在做大数据处理实验时,发现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外面。

页: [1]
查看完整版本: java POI操作excel单元格