XLSX的CellStyle数据格式

时间:2015-03-04 15:48:33

标签: java apache-poi export-to-excel xssf poi-hssf

我有一些代码:

CellStyle cs2 = wb.createCellStyle();
CellStyle cs4 = wb.createCellStyle();
cs4.setDataFormat(HSSFDataFormat.getBuiltinFormat("CELL_TYPE_NUMERIC"));
cs2.setDataFormat(HSSFDataFormat.getBuiltinFormat("text"));

这是用于创建xls报告。如何更改此代码以创建XLSX报告?

将进行以下工作吗?

XSSFDataFormat format = (XSSFDataFormat) wb.createDataFormat();

            cs2.setDataFormat(format.getFormat("text"));

请帮忙。

由于

1 个答案:

答案 0 :(得分:3)

是的,内置格式仍然适用于Apache POI中的.xlsx电子表格。

即使XSSFDataFormat#getFormat(String)的Javadoc没有提到它,source code告诉所有人:

public short getFormat(String format) {
    int idx = BuiltinFormats.getBuiltinFormat(format);
    if(idx == -1) idx = stylesSource.putNumberFormat(format);
    return (short)idx;
}

它将首先在BuiltinFormats对象中查找数据格式,如果找不到,则会创建一个新格式。

我在创建.xlsx电子表格时使用"text"进行了测试。我创建了数字单元格,并将这些单元格设置为CellStyleXSSFDataFormat创建了"text",并且单元格在结果电子表格中设置为“文字”。

相关问题