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

使用ApachePOI事件模型读取空单元格

苏昊英
2023-03-14

我有一个巨大的excel文件,其中包含大量列,如下所示:-

Column1 Column2 Column3 Column4 Column5
abc             def             ghi
        mno             pqr
......

当我打印excel中的所有值时,我的代码生成的输出是:-

abc;def;ghi;null;null

mno;pqr;null;null;null

所以,如果我们看看上面的输出,我们可以注意到我留下空白值的单元格没有被POI库拾取。有没有一种方法可以让这些值为空?还是一种识别所呈现的值跳过空白单元格的方法?

请注意:我使用的不是usermodel(org.apache.poi.ss.usermodel),而是一个事件API来处理xls和xlsx文件。

我正在为xls文件实现HSSFListener并重写其processRecord(记录记录)方法。对于xlsx文件,我使用html" target="_blank">javax。xml。解析器。SAXParser和org。xml。萨克斯。XMLReader。

我将JDK7与ApachePOI3.7一起使用。有人能帮忙吗?

我已经看到了这种可能的重复,如何在ApachePOI中获取Excel空白单元格值?但这并不能回答我的问题,因为我正在使用事件API。

共有1个答案

卢书
2023-03-14

是的,这是可以做到的,有几个例子表明它与Apache POI一起发布。它们都与基于事件的xls/xlsx相关-

对于HSSF事件模型处理,您要查看的示例是XLS2CSVmra。这是由MissingRecordAwareHSSFListener提供动力的

对于XSSF事件模型,您需要的示例是XLSX2CSV

 类似资料:
  • 下面是XLS的代码: 对于xlsx,如果第一列有空单元格,则跳过它。下面是XLSX的代码: 与我的老问题一样,需要提到的是:我不是使用usermodel(org.apache.poi.ss.usermodel),而是使用一个事件API来处理xls和xlsx文件。 如上所示,它为第一列打印空字符串,但为其他列打印值NULL。我希望第一列打印相同的值NULL。

  • 我有一个excel文件,其中有一个时间戳列,填充值为5/31/2011 5:49:44 PM。我正在使用POI事件模型读取此excel文件。(实施方式与中的说明相同http://poi.apache.org/spreadsheet/how-to.html#sxssf-“XSSF和SAX(事件API)”)上面的时间戳值被读取为40694.74287037037,我不知道为什么。我无法将此值格式化回日

  • 我是否遗漏了一些奇怪的设置,会使忽略空白单元格? 最后我编写了一个helper函数,该函数删除了col_n)列。

  • 我有一个在AWS Lambda上运行的基于微服务的应用程序。其中两个微服务,最关键的,使用事件源/cqrs。 背景:(这也是我整理思想的地方) 我正在使用这个库并将事件存储在DynamoDB中,并将预测存储在AWS S3中。 写入部分的工作方式很有魅力:每个命令调用都从DynamoDB加载聚合的当前状态(通过处理程序运行事件和/或加载缓存的聚合),它根据一些业务逻辑决定接受或拒绝命令,然后使用键条

  • 我正在使用Poi.jar从excel表输入,想知道如何检查单元格是否为空。 现在我使用下面的代码。

  • 我正在使用Apache POI读取零件编号电子表格中的数据。我在我们的数据库中查找零件编号,如果我们有零件的计算机辅助设计图纸,我将零件编号单元格涂成绿色,如果没有,我将其涂成红色。处理完成后,将保存电子表格。我遇到的问题是那列中的每个细胞都是绿色的。我已经完成了代码,查找零件号的逻辑工作正常,确定单元格应该是什么颜色以及设置颜色和填充的逻辑似乎也工作正常。知道我做错了什么吗? 谢谢