gpt4 book ai didi

java - Apache POI 移行

转载 作者:行者123 更新时间:2023-12-01 17:10:10 24 4
gpt4 key购买 nike

我需要一种在现有行之间插入新单元格和/或行而不删除任何行的方法。

我尝试使用:

public static void addRow(File f, int amount, int currentRow)
throws Exception {
FileInputStream file = new FileInputStream(f);
XSSFWorkbook workbook = new XSSFWorkbook(file);
XSSFSheet sheet = workbook.getSheetAt(0);
sheet.shiftRows(currentRow, currentRow + amount, amount, true, true);
file.close();
FileOutputStream out = new FileOutputStream(f);
workbook.write(out);
out.close();
}

但不幸的是,它删除了一些行以适应转变。删除的行似乎是随机的,它们实际上并不位于移位行的正下方或上方。如果我移动多于一行,它们似乎发生在移动的行之间。

预先感谢您的帮助。

最佳答案

API 的第二个参数是“endRow” - 通过传递“currentRow+amount”,您将不会移动从插入点开始到末尾的所有行。相反,您只需移动“金额”行 - 这很可能会导致覆盖“currentRow+金额”之外的所有行(如果有的话)。

我会这样做:

sheet.shiftRows(currentRow, sheet.getLastRowNum()+1, amount, true,true);

关于java - Apache POI 移行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24132601/

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