我有一个包含75行的表格的Excel工作表。 在第76行我有各列=SUM(A1:A75)和=SUM(B1:B75) 在第77到第92位的行我有一个Excel图表这需要A1的总功能:A75和B1:B75为值
使用Apache POI在Excel中删除多行
如果我使用Apache POI填充所有75行,然后一切看起来很棒。我使用XSSFWorkbook
如果我使用Apache POI来填充30行,那么我想删除31到75行。这是我遇到问题的地方。
被我删除Excel中的这些行,那么总的功能更新和Excel图表更新使用A1:A30和B1:B30,和Excel图表上移至排31
我想镜像使用Apache POI
此行为这就是我试图
xlsTable.shiftRows(75,91,-45)
(行75到91的Excel排Apache的行当量76至92和包括总功能和图表)
我也曾尝试
for (int i = 75; i > 30; i--) {
Row r = CellUtil.getRow(i, xlsTable);
xlsTable.removeRow(r);
}
和
for (int i = 30; i < 75; i) {
Row r = CellUtil.getRow(i, xlsTable);
xlsTable.removeRow(r);
}
这只是因为我的表变得凌乱与#REF错误。我想象我所需要的POI不可能实现,而且我需要实际构建必要数量的行的整个工作表,然后添加图表。但我想我会问!
+0
它是xls还是xlsx? –
2015-04-01 15:16:02
+0
XSSFWorkbook - xlsx(我也更新了这个问题) –
2015-04-01 15:19:05
+0
你需要将其中的两个组合起来。在此代码中根据需要播放索引:'HSSFRow rowToRemove = sheet.getRow(currentRowIndex); \t \t \t sheet.shiftRows(currentRowIndex + 1,lastRowIndex,-1); \t \t \t sheet.removeRow(rowToRemove);' –
2015-04-01 15:22:13