使用poi导出单元格设置样式为文本格式

这里记录在工作中遇到的一个问题:
在使用poi导出表格的时候,生成的序号,员工编号等数据中包含009这种以0开的数据,在导入的时候需要保留0的方式作为数据,但是使用传统的格式会舍弃掉00,默认显示为9的形式,如何解决呢,这里提供相应的方法:
第一种方式:

cell.setCellType(Cell.CELL_TYPE_STRING);

默认存储数据为字符串格式:
第二种方式:
设置单元格的样式为文本格式:

 HSSFCellStyle cellStyle = workbook.createCellStyle();
        HSSFDataFormat dataFormat = workbook.createDataFormat();
        cellStyle.setDataFormat(dataFormat.getFormat("@"));
        cell1.setCellValue("009");
        sheet.setDefaultColumnStyle(0,cellStyle);

设置完成后,导出的poi单元格为文本格式,但是当手动编辑的时候,单元格自动变成常规格式,暂时没有解决,希望知道的读者大大能反馈消息,感谢(这里作者查找资料已经解决了这个问题)
这里需要使用下面的代码才能完成操作:

  HSSFCellStyle cellStyle = workbook.createCellStyle();
        HSSFDataFormat dataFormat = workbook.createDataFormat();
        cellStyle.setDataFormat(dataFormat.getFormat("@"));
        cell1.setCellStyle(cellStyle);
        cell1.setCellValue("009");

建议先尝试1,2,如果不行再尝试最后一种方法。

已标记关键词 清除标记
©️2020 CSDN 皮肤主题: 创作都市 设计师:CSDN官方博客 返回首页