Apache POI - 具有非英文字符的列,例如泰国和细胞空,然后跳过细胞

时间:2015-03-16 06:14:49

标签: excel utf-8 iterator apache-poi cell

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

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

e.g。如果column4具有特殊字符类型且IS非为空,则POI将column4与该列中的值正确映射。 但是,如果column4具有特殊字符类型且IS为空,则POI将column4映射为column5中的值。

这会破坏整个结构和cellIterator。

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

谢谢!

1 个答案:

答案 0 :(得分:1)

最后,我能够解决这个问题。虽然很简单。 row.cellIterator()跳过所有null的单元格,并创建迭代器,从而产生不匹配。 而是使用row.getCell(int index)。这不会跳过空单元格,因此将适用于该特定行中的所有单元格。这与非英语字符无关。共同发生率仅针对非英语专栏,空单元格实际上为空。