我有一些代码:
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"));
请帮忙。
由于
答案 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"
进行了测试。我创建了数字单元格,并将这些单元格设置为CellStyle
,XSSFDataFormat
创建了"text"
,并且单元格在结果电子表格中设置为“文字”。