我有一個包含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不可能實現,而且我需要實際構建必要數量的行的整個工作表,然後添加圖表。但我想我會問!
它是xls還是xlsx? – Jimmy 2015-04-01 15:16:02
XSSFWorkbook - xlsx(我也更新了這個問題) – gordon613 2015-04-01 15:19:05
你需要將其中的兩個組合起來。在此代碼中根據需要播放索引:'HSSFRow rowToRemove = sheet.getRow(currentRowIndex); \t \t \t sheet.shiftRows(currentRowIndex + 1,lastRowIndex,-1); \t \t \t sheet.removeRow(rowToRemove);' – Jimmy 2015-04-01 15:22:13