我正在尝试使用Apache POI读取excel文件(.xlsx)。 该文件的一列中包含非英文字符,例如บริษัทพัฒนาจำกัด(มหาชน)
如果单元格具有任何值,则POI会使用正确的非英语字符正确读取单元格。但是,如果该特定列中的单元格为空,则会读取当前列名称的下一个单元格。
e.g。如果column4具有特殊字符类型且IS非为空,则POI将column4与该列中的值正确映射。 但是,如果column4具有特殊字符类型且IS为空,则POI将column4映射为column5中的值。
这会破坏整个结构和cellIterator。
请让我知道问题是什么以及如何解决?将不胜感激。
谢谢!
答案 0 :(得分:1)
最后,我能够解决这个问题。虽然很简单。
row.cellIterator()
跳过所有null的单元格,并创建迭代器,从而产生不匹配。
而是使用row.getCell(int index)
。这不会跳过空单元格,因此将适用于该特定行中的所有单元格。这与非英语字符无关。共同发生率仅针对非英语专栏,空单元格实际上为空。