使用poi,如何将单元格类型设置为数字

21
我正在使用poi 3.6版本。我能够成功创建Excel文件,但是当我尝试将单元格类型设置为数字时,它总是给我一个通用的单元格类型。
即,在新创建的Excel文件中,当我右键单击并转到格式单元格->在那里我总是发现数字是通用的。
我的代码如下:
style.setAlignment(CellStyle.ALIGN_RIGHT);
dataCell.setCellValue(Float.parseFloat(value as String);
dataCell.setCellType(Cell.CELL_TYPE_NUMERIC);
dataCell.setCellStyle(style);

你能否建议这里缺少什么?


POI 3.6相当老了,你为什么要使用这么旧的版本而不是最新的版本呢? - Gagravarr
2个回答

32
您也可以尝试这种方法:
HSSFRow row = sheet.createRow(sheet.getLastRowNum());
HSSFCell cell = row.createCell(0);
HSSFCellStyle style = workbook.createCellStyle();
style.setDataFormat(HSSFDataFormat.getBuiltinFormat("0.00"));
cell.setCellStyle(style);
cell.setCellValue(Float.parseFloat("21.5"));

当然,查看文档数据格式的示例。

非常感谢,它对我有用。我已经尝试了//style.setDataFormat(format.getFormat("0.0"));但它没有起作用.. 非常感谢 - Anup

-2
你要找的方法应该叫做“setNumericCellValue”。在设置值之前,尝试设置单元格类型。

1
没有setNumericCellValue方法,只有getNumericCellValue方法。在https://poi.apache.org/apidocs/dev/org/apache/poi/xssf/usermodel/XSSFCell.html的文档中,有一个引用暗示可以应用格式,但不是类型。 - Fred Andrews
谢谢十多年后的投票反对... API可能在此期间发生了变化。 - Sebastian

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接