我尝试使用以下方法删除单元格:
HSSFCell cell = sheet.getRow(0).getCell(i);
sheet.getRow(0).removeCell(cell);
我认为这应该有明确的价值,但单元格的值刚刚从“012345678”更改为“0”。单元格类型始终为字符串。
此外,该单元格有评论,也没有被删除。然后我在上面两个之间添加这个语句:
cell.removeCellComment();
它没有用。有什么我忘记做的吗?提前致谢。
我尝试使用以下方法删除单元格:
HSSFCell cell = sheet.getRow(0).getCell(i);
sheet.getRow(0).removeCell(cell);
我认为这应该有明确的价值,但单元格的值刚刚从“012345678”更改为“0”。单元格类型始终为字符串。
此外,该单元格有评论,也没有被删除。然后我在上面两个之间添加这个语句:
cell.removeCellComment();
它没有用。有什么我忘记做的吗?提前致谢。
我看不出你的代码有什么问题。删除单元格后,您是否记得保存更改?以下代码对我来说很好。
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();
您可以尝试将单元格值设置为 null 或空字符串。
我也是同样的问题,我的解决方案没什么新意,就是复制表格并排除您需要的原始表格的单元格,然后删除原始表格
int originalTablePos = paragrah.getDocument().getPosOfTable(Original_Table);
// copy table from original to new table
paragrah.getDocument().removeBodyElement(originalTablePos);
我希望这可以帮助其他有同样问题的人
问候