gpt4 book ai didi

java - 使用 Apache POI 在 Excel 中删除多行

转载 作者:行者123 更新时间:2023-12-04 21:03:58 24 4
gpt4 key购买 nike

我有一张包含 75 行表格的 Excel 表格。
在第 76 行,我有每列的 Total 函数 =SUM(A1:A75)=SUM(B1:B75)在第 77 到第 92 行中,我有一个 Excel 图表,它采用 A1:A75 和 B1:B75 作为值
Picture of Data and Total and Chart

如果我使用 Apache POI 填充所有 75 行,那么一切看起来都很棒。
(我正在使用 XSSFWorkbook)

如果我使用 Apache POI 仅填充 30 行,那么我想删除第 31 到 75 行。这就是我遇到问题的地方。

如果我在 Excel 中删除这些行,那么总计函数会更新,Excel 图表会更新为使用 A1:A30 和 B1:B30,并且 Excel 图表会向上移动到第 31 行。

我想使用 Apache POI 来反射(reflect)这种行为

这是我尝试过的

xlsTable.shiftRows(75,91,-45)

(第 75 到 91 行是 Excel 第 76 到 92 行的 Apache Row 等效项,包括 Total 函数和图表)

我也试过
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 可能无法实现,并且我需要为必要的行数实际构建我的整个工作表,然后添加图表。不过我想我会问!

最佳答案

到目前为止,我发现的最佳解决方案是简单地隐藏行。这样,大部分问题都解决了。

  • Excel 图表上移
  • Excel 图表事实上只使用那些未隐藏的行(它忽略隐藏的行,因此这些隐藏的行不会在图表中创建巨大的“空白区域”)
  • 总功能工作

  • 更准确地说,也可以将命名范围分配给列,然后将图表设置为使用这些命名范围,然后使用代码更新命名范围。然而,隐藏行仍然是必要的。

    关于java - 使用 Apache POI 在 Excel 中删除多行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29393097/

    24 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com