我使用的是poi 3.6
我能够正确地创建excel。但当我试图将单元格类型设置为数字时,它总是将单元格类型设置为常规。
i、 e.在新创建的excel中,当我右键单击并转到“格式化单元格”时-
我的代码是这样的
style.setAlignment(CellStyle.ALIGN_RIGHT);
dataCell.setCellValue(Float.parseFloat(value as String);
dataCell.setCellType(Cell.CELL_TYPE_NUMERIC);
dataCell.setCellStyle(style);
你能告诉我这里缺少什么吗?
如果我没弄错的话,你要找的方法叫做“setNumericCellValue”。此外,在设置值之前,请尝试设置单元格类型。
你也可以尝试这种方法:
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"));
当然,请看一下有关数据格式的文档和示例。
问题内容: 我正在使用poi 3.6 我能够正确创建Excel。但是,当我尝试将单元格类型设置为number时,它总是为我提供常规的单元格类型。 即在新创建的excel中,当我右键单击并设置单元格格式->我总是发现数字是General。 我的代码是这样的 您能建议一下这里缺少什么吗? 问题答案: 您也可以尝试这种方法: 当然,请查看有关数据格式的文档和示例。
我创建了一个创建excel工作表的程序,它有一些数据列1-包含字符串列2-包含数字(基本上是一个整数,但在读取时为什么它被转换为浮点?)
如何将该值作为字符串而不是数字从单元格中获取?下面给出了读取和编写excel的代码
我正试图将一些数据导出到Excel文件中。我在用POI。 据我所知,Cell.SetCellType(double)设置适当的excel等效数值。但这不会改变细胞的类型。 打开生成的excel文件时的列类型是中的。 编辑 正如Jim Garrison回答的那样,设置单元格样式确实会将类型改为数字。下面是工作代码。
而且,当不为c1和c2设置任何CellValue时,实际上可以将它们的CellType设置为Numeric,突然之间代码又可以工作了。它在没有CTTable的情况下也可以工作。 有什么想法或变通办法吗?还是POI的一个bug(因为它尝试从任何单元格中获取字符串值,而不管它的单元格类型如何)?