java – 阅读excel文件2010 apache poi忽略空单元格
作者:互联网
我有一个问题,而java应用程序读取Excel文件.xlsx扩展,应用程序正常工作,但在工作簿中有很多工作表,1,2页正确读取,但读取3页时,没有读取所有单元格当我从Excel文件中打开并检查时,单元格中存在空值,但是当apache poi读取它时,单元格将被忽略空单元格.原因是什么?
更新
FileInputStream file = new FileInputStream(file_location);
//this.workbook = new HSSFWorkbook(file);
this.workbook = new XSSFWorkbook(file);
XSSFSheet mySheet = workbook.getSheetAt(index);
Iterator rowIter = mySheet.rowIterator();
while(rowIter.hasNext()){
XSSFRow myRow = (XSSFRow) rowIter.next();
Iterator cellIter = myRow.cellIterator();
ArrayList colStoreArray=new ArrayList();
while(cellIter.hasNext()){
XSSFCell myCell = (XSSFCell) cellIter.next();
colStoreArray.add(myCell);
}
rowArrayHolder.add(colStoreArray);
} }
在读取excel文件之上,虽然我在一行20个单元格中检查了Excel文件,但是在某些行中只读取了14行.我正在使用ArrayList,看来这里应该是并发访问ArrayList的问题.可能是什么原因?
解决方法:
迭代器只迭代文件中定义的单元格.如果单元格从未在Excel中使用过,它可能不会出现在文件中(Excel并不总是一致…),所以POI不会看到它
如果你想确保你击中每个单元格,你应该通过索引查找,并检查空单元格(指示单元格从未存在于文件中),或者设置MissingCellPolicy来控制你想要空单元格和空单元格的方式被处理
标签:java,excel-2010,java-ee,excel-2007,apache-poi 来源: https://codeday.me/bug/20191008/1874303.html