使用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,如果不行再尝试最后一种方法。

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值