首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何将Excel单元格中的数字字符串读取为字符串(而不是数字)?

如何将Excel单元格中的数字字符串读取为字符串(而不是数字)?
EN

Stack Overflow用户
提问于 2009-07-02 04:50:56
回答 21查看 296.5K关注 0票数 157
  1. 我有一个包含以下内容的excel文件:

代码语言:javascript
复制
- A1: SomeString
- A2: 2

所有字段均设置为字符串格式。

  1. 当我使用POI读取java中的文件时,它告诉我A2是数字单元格式。
  2. 问题是A2中的值可以是2或2.0 (我希望能够区分它们),所以我不能只使用.toString().

我能做些什么来读取值为字符串?

EN

回答 21

Stack Overflow用户

回答已采纳

发布于 2010-08-17 23:54:18

我也有同样的问题。我在读取字符串值之前执行了cell.setCellType(Cell.CELL_TYPE_STRING);,这解决了无论用户如何格式化单元格的问题。

票数 344
EN

Stack Overflow用户

发布于 2011-08-18 07:26:25

当你问这个问题的时候,我不认为我们有这门课,但是今天有一个简单的答案。

您想要做的是使用DataFormatter class。您将其传递给一个单元格,它会尽力返回一个字符串,其中包含Excel将为该单元格显示的内容。如果你向它传递一个字符串单元格,你将会得到字符串。如果您向它传递一个应用了格式规则的数字单元格,它将根据这些规则格式化数字并返回给您字符串。

对于您的例子,我假设数值单元格应用了整数格式规则。如果您要求DataFormatter对这些单元格进行格式化,它将返回一个包含整数字符串的字符串。

此外,请注意,许多人建议使用cell.setCellType(Cell.CELL_TYPE_STRING),但Apache POI JavaDocs quite clearly state that you shouldn't do this!执行setCellType调用将丢失格式,因为javadocs explain转换为剩余格式的字符串的唯一方法是使用DataFormatter class

使用这个类的一个简单示例:

代码语言:javascript
复制
DataFormatter dataFormatter = new DataFormatter();
String formattedCellStr = dataFormatter.formatCellValue(cell);
票数 108
EN

Stack Overflow用户

发布于 2014-07-02 22:37:47

下面的代码适用于任何类型的单元格。

代码语言:javascript
复制
InputStream inp =getClass().getResourceAsStream("filename.xls"));
Workbook wb = WorkbookFactory.create(inp);
DataFormatter objDefaultFormat = new DataFormatter();
FormulaEvaluator objFormulaEvaluator = new HSSFFormulaEvaluator((HSSFWorkbook) wb);

Sheet sheet= wb.getSheetAt(0);
Iterator<Row> objIterator = sheet.rowIterator();

while(objIterator.hasNext()){

    Row row = objIterator.next();
    Cell cellValue = row.getCell(0);
    objFormulaEvaluator.evaluate(cellValue); // This will evaluate the cell, And any type of cell will return string value
    String cellValueStr = objDefaultFormat.formatCellValue(cellValue,objFormulaEvaluator);

}
票数 63
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1072561

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档