我尝试使用以下方法删除单元格:
HSSFCell cell = sheet.getRow(0).getCell(i);
sheet.getRow(0).removeCell(cell);
我认为这应该有明确的价值,但是细胞的价值刚刚从" 012345678"到" 0"。单元格类型始终为字符串。
此外,该单元格有评论,它既没有被删除。然后我在上面两个之间加上这个陈述:
cell.removeCellComment();
它没有用。有什么我忘了做的吗?提前谢谢。
答案 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);
我希望这可以帮助遇到相同问题的其他人
问候