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

使用Apache POI从excel文件按原样编号

伍宝
2023-03-14

我使用Apache POI(3.9版)框架处理excel文件,即读取excel文件。

我对数字类型有困难。出于各种原因,用户可以在excel文件中用逗号或点作为十进制分隔符编写数字,即12.34或12,34。

现在,我想得到这个值(即如果它是12.34,那么我想得到12.34,或者如果它是12,34,那么我想得到12,34),但是POI Cell初步给我一个双倍,点作为十进制分隔符。所以,如果单元格值为12,34,POI Cell会给值12.34的两倍。

这种行为不是我想要的。我想得到输入的值(12,34)。

如何避免/解决这个问题?

我已经搜索了Stackoverflow类似的问题,并尝试使用线程中给出的解决方案我怎么能读取Excel单元格中的数字字符串作为字符串(不是数字)与Apache POI?并尝试使用替代org.apache.poi.ss.usermodel.DataForcat类,它工作,但它不工作时,值是12,34和单元格类型是在Excel文件本身中定义的数字。

共有1个答案

郁承运
2023-03-14

如果您正在验证这些数字,我建议您将验证字符串转换为一个数字,以便与单元格中的值进行比较,这样可能会更幸运。电子表格中没有存储有关小数/千分隔符的信息。这是基于应用程序或操作系统中设置的区域设置的,并且仅显示-它根本不存储。因此,您必须手动将数字格式化为字符串。

 类似资料:
  • 用户可以将Excel文档保存为. xls或xml-table。结果是一个具有固定结构的xml-file,Excel可以用它纠正工作。 可以用java中的ApachePOI打开这种类型的excel文件吗? 事先谢谢你,安德烈。

  • 我正在写一个程序,它需要从excel文件中读取和写入数据,而不考虑格式(xls或xlsx)。 我知道ApachePOI,但它似乎有不同的类来处理xls文件(HSSF)和xlsx(XSSF)文件。 任何人都知道我将如何实现我在这里的目标。(也欢迎使用POI以外的API的想法)。

  • 我是编程界的新手。嗯,我正在尝试使用ApachePOI库读取excel文件(5行5列)。我实际上有两个相同问题的实现。在第一个代码片段中,我只是读取excel文件并将其打印到控制台中。 然而,现在我正试图将读取的excel数据保存到一个数组中。所以我想在动态获取excel行和列大小后设置数组大小。但令我惊讶的是,当我执行第二个代码段时,似乎“while(cellIterator.hasNext()

  • 我想使用Spark Session2.2从HDFS中的Excel文件加载数据。下面是我的Java代码和我得到的异常。 我有个例外: java.lang.nosuchmethoderror:org.apache.poi.ss.usermodel.workbook.close()V at com.crealytics.spark.excel.excelrelation.com$crealytics$s

  • 我知道如何使用apache poi从ppt文件中提取文本,如下所示 但它提取了所有页脚,幻灯片编号,我不想要 那么如何提取除页脚和幻灯片编号以外的文本 预先感谢

  • 问题内容: 我有一个包含不同列数的Excel文件,我想使用Python遍历该文件的某些列(从其标题行值开始),然后将这些列写入(复制)到另一个Excel文件中。 请问有关如何执行此操作的任何示例? 问题答案: 以下是一些可供选择的选项: xlwt(编写xls文件) xlrd(读取xls / xlsx文件) openpyxl(读取/写入xlsx文件) xlsxwriter(写入xlsx文件) 如果只