【问题标题】:reading excel file using XMLStreamReader ( read number as string, not as a number )使用 XMLStreamReader 读取 excel 文件(将数字读取为字符串,而不是数字)
【发布时间】:2016-05-28 14:09:56
【问题描述】:

我正在使用 XMLStreamReader 对象读取一个 excel 文件。这个对象的初始化有点像这样:

opcPkg = OPCPackage.open(excelPath, PackageAccess.READ);
xssfReader = new XSSFReader(opcPkg);
factory = XMLInputFactory.newInstance();
iterator = xssfReader.getSheetsData();
inputStream = iterator.next();
xmlReader = factory.createXMLStreamReader(inputStream);

使用此语句读取单元格的内容,

xmlReader.getElementText();

问题是单元格中包含的简单数字字符串 10.2 被读取为 10.199999999999999。我希望它仅被读取为 10.2。有没有办法解决这个问题?

【问题讨论】:

  • 您是否尝试过使用DataFormatter?如果没有,当你这样做时会发生什么?

标签: java excel apache-poi xmlreader


【解决方案1】:

当你把它读成一个字符串时,你会用

来解析它吗?
Double.parseDouble(...getText() );

这将是从一行文本中获取数字的最可靠方法

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-09-20
    • 2013-02-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多