读书人

poi操作Excel设立单元格格式

发布时间: 2012-12-19 14:13:14 作者: rapoo

poi操作Excel设置单元格格式

目的:导出的Excel模板,某些单元格要是文本形式,如下图
poi操作Excel设立单元格格式
我之前想当然的用cell.setCellType(HSSFCell.CELL_TYPE_STRING),但是发现没有效果。实际POI对Excel单元格格式的设置是用HSSFDataFormat 这个类。如下代码可以实现设置为文本格式:

HSSFCellStyle cellStyle= workbook.createCellStyle();HSSFDataFormat format = workbook.createDataFormat();cellStyle.setDataFormat(format.getFormat("@"));cell.setCellStyle(cellStyle);

关于其他格式,可以参考POI的doc

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 "@"

第一个参数是index 后面一个是String 格式的format

我用的是poi-3.2-FINAL做的测试。

参考文章:http://javacrazyer.iteye.com/blog/894758

读书人网 >编程

热点推荐