Excel工作表的单元格types显示为实际上是文本types的数字
我正在使用apache-poi-3.9来处理Excel文档。 我在TEXTtypes的文档中有一个单元格(单元格值为445)。 但是当我检查Java中的单元格types时,它显示NUMERIC。 有没有办法像excel文档中那样获取单元格types。 注意:单元格被定义为TEXT。 它可能包含字母数字值或数字值,但我需要该types为文本。
尝试将单元格types设置为string:
cell.setCellType(HSSFCell.CELL_TYPE_STRING);
或者将数字格式设置为文本:
CellStyle style = workbook.createCellStyle(); DataFormat format = wb.createDataFormat(); style.setDataFormat(format.getFormat("@")); cell.setCellStyle(style);
查看以下链接了解更多详情:
http://poi.apache.org/spreadsheet/quick-guide.html#Working+with+different+types+of+cells http://poi.apache.org/spreadsheet/quick-guide.html#DataFormats
从单元格中提取格式化的值后,使用以前的代码:
DataFormatter formatter = new DataFormatter(); String formatted_value = formatter.formatCellValue(cell);