gpt4 book ai didi

java - 跳过 Apache POI 中的空白 Excel 单元格

转载 作者:搜寻专家 更新时间:2023-11-01 02:30:36 25 4
gpt4 key购买 nike

我是 Apache POI 的新手,但我想做的是通过 Excel 文件 (.xls) 读取并将其放入 ArrayList 进行存储,以便我以后可以操作。我可以获得整张表,但我的问题是:我得到了整个该死的表(~54183 行)。

我想跳过类型 3 的空白单元格。出于某种原因,当我 system.out.print ArrayList 时,它包含所有空白单元格。

有没有办法跳过这些而不将它们添加到我要创建的 ArrayList 中?

我有以下代码:

public ArrayList readExcelFile(String filePath) throws IOException {
ArrayList cellVectorHolder = new ArrayList();
try {
FileInputStream inputFile = new FileInputStream(filePath);
POIFSFileSystem myFileSystem = new POIFSFileSystem(inputFile);
HSSFWorkbook wkbk = new HSSFWorkbook(myFileSystem);
wb = wkbk;
for (int i = 0; i < wb.getNumberOfSheets(); i++) {
HSSFSheet wkSheet = wkbk.getSheetAt(i);
for (Row row : wkSheet) {
ArrayList cellVector = new ArrayList();
for (Cell cell : row) {
if(cell.getCellType() != 3){
cellVector.add(cell);
}
}
cellVectorHolder.add(cellVector);
}
}
} catch (Exception e) {
e.printStackTrace();
}
return cellVectorHolder;
}

不要介意 ArrayList 名称...我一直在使用 Vectors,直到我最终发现它们自 1.2 或类似版本以来已被贬值。

最佳答案

在将单元格添加到列表之前,您可以检查单元格值。像这样的东西:

if (cell.getStringCellValue() != null &&  cell.getStringCellValue().length() != 0) {   
cellVector.add(cell);
}

只有在有内容时才添加单元格。

关于java - 跳过 Apache POI 中的空白 Excel 单元格,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10405557/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com