当前位置: 首页 > 知识库问答 >
问题:

如何获取POI XSSF事件模型中的单元格未格式化值?

柯骏
2023-03-14

单元格A1的公式为“=A2”,并设置为显示1个小数点

单元格A2的值为4.23

单元格A1显示4.2(格式化显示值)

但是formattedValue返回单元格A1的4.2,我想检索unformattedValue的4.23

我怎么能这么做?(我不能改成usermodel,我有巨大的文件)

共有1个答案

颛孙航
2023-03-14

好的,没有办法使用sheetContentHandler来完成这件事(尽管如果你想要的话,你可以得到实际的公式,但这不是我要找的)

唯一的解决方案是使用扩展DefaultHandler的SheetHandler类。

apache-poi站点上的示例代码:示例

 类似资料:
  • 有人能给我一个解决方案,我可以在单元格为空时读取应用到单元格的样式吗? 谢了。

  • 注意:对于.xls类型的excel文件,我使用的是ExcelLibrary.dll库,可以使用下面的代码轻松获取单元格的数据类型 但在Spreadsheetlight中没有类似的方法。

  • 问题内容: 我想以一个简单的字符串来获取数值单元格的值。 假设单元格的类型是带有value的数字。现在我无法使用,因为它将引发异常。我也无法使用,因为它会使我退缩。 我想存储在类型为varchar2的db中,所以我只希望字符串中的值。 我无法更改单元格类型,因为它是最终用户的工作,我必须在代码本身中进行处理。 格式化程序也无法正常工作,因为xls … dd:mm,dd:mm:ss,公式等中可能存在

  • 我有一个巨大的excel文件,其中包含大量列,如下所示:- 当我打印excel中的所有值时,我的代码生成的输出是:- 所以,如果我们看看上面的输出,我们可以注意到我留下空白值的单元格没有被POI库拾取。有没有一种方法可以让这些值为空?还是一种识别所呈现的值跳过空白单元格的方法? 请注意:我使用的不是usermodel(org.apache.poi.ss.usermodel),而是一个事件API来处

  • null 如您所料,A3将导致。现在将A2的格式更改为会计,使用小数点后2位。A2现在读,但是基础值仍然是,所以A3仍然是。 VBA 制作一个新模块并添加以下函数: null 和具有相同的基础值,但和没有,尽管它们都是使用和的方法计算的。 ()中的表达式正在访问和的实际基础值。如何在VBA中访问这些值?

  • 问题内容: 我正在使用apache POI读取Excel文档。至少可以说,到目前为止,它已经可以满足我的目的。但是令我震惊的一件事是将单元格的值提取为HTML。 我有一个单元格,用户将在其中输入一些字符串并应用某种 格式(例如,项目符号/数字/粗体/斜体) 等。 因此,当我阅读它时,内容应为 HTML 格式,而不是POI给出的纯字符串格式。 我几乎遍历了整个POI API,但找不到任何人。我只想保