【发布时间】:2013-04-23 13:11:58
【问题描述】:
我正在尝试使用 Java POI 读取存储在 Excel 工作表中的数据。我对这两种方法感到困惑,因为这两种方法都返回存储在单元格中的字符串值。谁能解释一下这两种方法的区别?
【问题讨论】:
标签: java excel apache-poi
我正在尝试使用 Java POI 读取存储在 Excel 工作表中的数据。我对这两种方法感到困惑,因为这两种方法都返回存储在单元格中的字符串值。谁能解释一下这两种方法的区别?
【问题讨论】:
标签: java excel apache-poi
重要的线索是查看@documentation 并注意不同的返回类型。
getRichStringCellValue() 返回 XSSFRichTextString 的类型,而 getStringCellValue() 返回一个普通的旧 java 字符串。
您可能只想使用 getStringCellValue(),除非您正在执行诸如复制电子表格之类的操作并希望保留任何格式。如果是这种情况,getRichStringCellValue() 返回的 XSSRichTextString 对象将包含任何格式信息,例如 bold 或 italic。
【讨论】:
getRichStringCellValue():
以字符串形式获取单元格的值 - 对于数字单元格,我们抛出一个 例外。对于空白单元格,我们返回一个空字符串。对于公式单元格 不是字符串公式,我们会抛出异常。
getStringCellValue():
以字符串形式获取单元格的值 - 对于数字单元格,我们抛出一个 例外。
【讨论】: