Apache POI - 具有非英文字符的列,例如泰语和单元格为空,然后跳过单元格

Apache POI - Column having non-english characters e.g. Thai and cell empty, then skips the cell

我正在尝试使用 Apache POI 读取 excel 文件 (.xlsx)。 该文件的一列中有非英文字符,例如บริษัทพัฒนาจำกัด (มหาชน)

如果单元格有任何值,则 POI 会使用正确的非英语字符正确读取单元格。但是,如果该特定列中的单元格为空,它将读取当前列名的下一个单元格。

例如如果 column4 具有特殊字符类型并且不为空,则 POI 将 column4 正确映射到该列中的值。 但是,如果 column4 具有特殊字符类型并且为空,则 POI 将 column4 映射到 column5 中的值。

这破坏了完整的结构和 cellIterator。

请告诉我问题是什么以及如何解决?将不胜感激。

谢谢!

终于,我解决了这个问题。虽然很简单。 row.cellIterator() 跳过所有为空的单元格并创建迭代器,因此不匹配。 而是使用 row.getCell(int index)。这不会跳过空单元格,因此适用于该特定行中的所有单元格。这与非英语字符无关。巧合的只是非英文栏,空单元格实际上是空的。