当前位置: 首页 > 面试题库 >

如何获取Apache POI中单元格的数字格式值?

法池暝
2023-03-14
问题内容

我想以一个简单的字符串来获取数值单元格的值。

假设单元格的类型是带有value的数字90%。现在我无法使用cell.getStringCellValue(),因为它将引发异常。我也无法使用,cell.getNumericCellValue()因为它会使我.9退缩90%

我想存储在类型为varchar2的db中,所以我只希望字符串中的值。

我无法更改单元格类型,xls因为它是最终用户的工作,我必须在代码本身中进行处理。

格式化程序也无法正常工作,因为xls … dd:mm,dd:mm:ss,公式等中可能存在不同的单元格类型。

我想要的就是无论单元格类型是什么,我都需要获取其值作为简单的String。


问题答案:

您可以使用以下方法强制将值作为String返回。

HSSFDataFormatter hdf = new HSSFDataFormatter();
System.out.println (hdf.formatCellValue(mycell));

将返回“ 90%”

此方法的API位于http://poi.apache.org/apidocs/org/apache/poi/ss/usermodel/DataFormatter.html#formatCellValue%28org.apache.poi.ss.usermodel.Cell%29

即使使用HSSFCell,也可以直接使用

即使我的手机是HSSFCell,它也对我有用

我也尝试过这个演员-可行。

HSSFCell cell1 = (HSSFCell) row1.getCell(2);

HSSFDataFormatter hdf = new HSSFDataFormatter();
System.out.println ("formatted "+ hdf.formatCellValue(cell1));


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

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

  • 我构建了一个条件,从我的数据框中提取一行: 现在我想从特定列中获取一个值: 但结果,我得到了一个包含一行和一列(即一个单元格)的数据帧。这不是我需要的。我需要一个值(一个浮点数)。我怎样才能在熊猫身上做到这一点?

  • 我构造了一个从数据帧中提取一行条件: 现在我想从一个特定列中取一个值:

  • 在过去的几天里,我一直在尝试从图片中获取数独网格,我一直在努力获取网格中较小的正方形。我正在制作下面的图片。我原以为用canny过滤器处理图像会很好,但事实并非如此,我无法得到每个正方形的所有轮廓。然后,我将自适应阈值、otsu和一个经典阈值用于测试,但每次,它似乎都无法捕获每个小正方形。 最终的目标是获得包含数字的单元格,并使用Pytork识别数字,因此我非常希望获得一些数字的清晰图像,以便识别

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