Java POI删除单元格

时间:2012-09-06 14:26:23

标签: java excel apache-poi

我尝试使用以下方法删除单元格:

HSSFCell cell = sheet.getRow(0).getCell(i);
sheet.getRow(0).removeCell(cell);

我认为这应该有明确的价值,但是细胞的价值刚刚从" 012345678"到" 0"。单元格类型始终为字符串。

此外,该单元格有评论,它既没有被删除。然后我在上面两个之间加上这个陈述:

cell.removeCellComment();

它没有用。有什么我忘了做的吗?提前谢谢。

3 个答案:

答案 0 :(得分:2)

我认为您的代码没有任何问题。删除单元格后,您是否记得保存更改?以下代码对我来说很好。

String xlsxPath = "C:\\path\\test.xlsx";

Workbook wb = WorkbookFactory.create(new FileInputStream(xlsxPath));

// get first row
Row row = wb.getSheetAt(0).getRow(0);

// remove second cell from first row
row.removeCell(row.getCell(1));

// save changes
FileOutputStream fileOut = new FileOutputStream(xlsxPath);
wb.write(fileOut);
fileOut.close();

答案 1 :(得分:0)

您可以尝试将单元格值设置为null或空字符串。

答案 2 :(得分:0)

我也遇到同样的问题,我的解决方案也没什么新奇的,就是复制表并排除所需的原始表单元格,然后删除原始表

        int originalTablePos = paragrah.getDocument().getPosOfTable(Original_Table);
        // copy table from original to new table
        paragrah.getDocument().removeBodyElement(originalTablePos);

我希望这可以帮助遇到相同问题的其他人

问候