使用Java Apache POI在Excel中插入一行

17

我正在开发一个与Excel表格相关的桌面应用程序。我遇到了一些在两行之间插入行的问题。是否可能使用Apache POI来解决这个问题?

Workbook wb3=WorkbookFactory.create(new FileInputStream("Book1.xls"));
Sheet sh=wb3.getSheet("sheet1");

//使用(sh.getRow(1))读取可用行

//这里我需要插入第二行(????)

//我在这里有第三行,已经存在(sh.getRow(3))

1个回答

36

我有一个非常有效的解决方案:

Workbook wb3=WorkbookFactory.create(new FileInputStream("Book1.xls"));
Sheet sh=wb3.getSheet("sheet1");  
int rows=sh.getLastRowNum();

将行数向下移动表格。

sh.shiftRows(2,rows,1);   

这里

  • 2 -- 需要插入行的位置
  • rows -- 总行数
  • 1 -- 我们要插入多少行

我们进行上述步骤的原因是为了创建一个空行,只有这样才能创建新行。

现在我们移动了行,然后就可以做我们想做的事情了

编码:

sh.createRow(1);

上述代码用于在第一个位置插入一行,正如我们所定义的那样。


1
这将移动行内容,但不会移动行格式。格式保持不变。 - Heiner

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接