0

我有一些代码,例如:

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"));

请帮忙。

谢谢

4

1 回答 1

3

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

即使 JavadocsXSSFDataFormat#getFormat(String)没有提及,源代码也说明了一切:

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

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

我已经在创建 .xlsx 电子表格和使用"text"作品时对此进行了测试。我创建了数字单元格,并将这些单元格设置为CellStyleaXSSFDataFormat创建的 with "text",并且单元格在生成的电子表格中是“文本”样式的。

于 2015-03-04T21:44:41.290 回答