天天看点

poi 导出模板设置某列格式存储身份证号

今天遇到一个棘手的问题,导出excel的模板当填写身份证号的时候默认被数值转换了,取出来后三位为0.这可急坏小的我了,上网查了好久没找到。后来看文档发现这样处理。。

<span>	</span>CellStyle css = wb.createCellStyle();
        DataFormat format = wb.createDataFormat();
        css.setDataFormat(format.getFormat("@"));
        sheet.setDefaultColumnStyle(0, css);//设置第0列为文本格式
           

问题迎刃而解。这里的DataFormate格式还有很多,下面罗列出来。

0, "General"  

1, "0"  

2, "0.00"  

3, "#,##0"  

4, "#,##0.00"  

5, "($#,##0_);($#,##0)"  

6, "($#,##0_);[Red]($#,##0)"  

7, "($#,##0.00);($#,##0.00)"  

8, "($#,##0.00_);[Red]($#,##0.00)"  

9, "0%"  

0xa, "0.00%"  

0xb, "0.00E+00"  

0xc, "# ?/?"  

0xd, "# ??/??"  

0xe, "m/d/yy"  

0xf, "d-mmm-yy"  

0x10, "d-mmm"  

0x11, "mmm-yy"  

0x12, "h:mm AM/PM"  

0x13, "h:mm:ss AM/PM"  

0x14, "h:mm"  

0x15, "h:mm:ss"  

0x16, "m/d/yy h:mm"  

// 0x17 - 0x24 reserved for international and undocumented 0x25, "(#,##0_);(#,##0)"  

0x26, "(#,##0_);[Red](#,##0)"  

0x27, "(#,##0.00_);(#,##0.00)"  

0x28, "(#,##0.00_);[Red](#,##0.00)"  

0x29, "_(*#,##0_);_(*(#,##0);_(* \"-\"_);_(@_)"  

0x2a, "_($*#,##0_);_($*(#,##0);_($* \"-\"_);_(@_)"  

0x2b, "_(*#,##0.00_);_(*(#,##0.00);_(*\"-\"??_);_(@_)"  

0x2c, "_($*#,##0.00_);_($*(#,##0.00);_($*\"-\"??_);_(@_)"  

0x2d, "mm:ss"  

0x2e, "[h]:mm:ss"  

0x2f, "mm:ss.0"  

0x30, "##0.0E+0"  

0x31, "@" - This is text format.  

0x31 "text" - Alias for "@"