我正在尝试编写一个函数,该函数读取Excel模板并在特定的行索引处开始写入。但是,我发现编号跳过了模板中的空行。有没有办法在迭代过程中计算空行的数量?
我试图找到与missing cell policy相同的行。我还尝试了这两种迭代方式:
//simple for loop
for (Row row : sheet1) {
for (Cell cell : row) {
...
}
}
//iterator
while (rows.hasNext()) {
XSSFRow row = ((XSSFRow) rows.next());
...
}两者似乎都忽略了空行。这会导致问题,因为我的模板用空行分隔部分,这会抛出行的索引,并且我必须手动更正目标索引,以便执行“从工作表中的第5行开始写入”之类的任务。
发布于 2013-11-13 16:02:53
根据我的理解,您的问题是您有一些行是空白的,但您无法计算出空白行(即没有单元格)。如果我是对的,你可以使用下面的检查(虽然我没有检查它,但我认为它应该可以工作)。
if(row!=null){
for (int cellNo = 0; cellNo < lastColumn; cellNo ++){
Cell cell = row.getCell(cellNo , Row.RETURN_BLANK_AS_NULL);
if(cell == null){
//Code for the Blank Rows
}
}
}发布于 2014-02-03 19:58:04
尝尝这个。它会将空值显示为空。
for(Row blankRow : sheet)
{
for(int cn=1; cn<blankRow.getLastCellNum()-1; cn++)
{
Cell cells = blankRow.getCell(cn, Row.CREATE_NULL_AS_BLANK);
}
}https://stackoverflow.com/questions/19777629
复制相似问题