如何在Java中使用POI合并单元格

时间:2014-12-15 09:50:51

标签: java apache-poi jxl

我想在java中使用POI合并单元格。我有一个合并单元格的输入表。

首先,我必须从该表中获取所有合并的单元格。然后我必须使用类似的合并单元格创建一个新的。

我按方法getNumMergedRegions()合并了单元格。

这给了我这些价值观: A56:A64=9, A65:A73=9, A2:A8=7, A49:A55=7, A20:A26=7, A9:A19=11, A43:A48=6, A27:A42=16。现在,我想创建一个新工作表,并希望基于这些值合并单元格。或者任何人都可以使用JXL api以任何其他方式帮助我。

2 个答案:

答案 0 :(得分:4)

您可以使用方法sheet.addMergedRegion(rowFrom,rowTo,colFrom,colTo);在官方网站上找到它的停靠栏。

示例:

sheet.addMergedRegion(new CellRangeAddress(1,1,4,1));

这将从B2合并到E2

粗略估计你试试这个A2:A8:

sheet.addMergedRegion(new CellRangeAddress(1,9,0,0);

答案 1 :(得分:2)

您可以使用CellReference来解析所需的String,这是一个示例:

    String[] cellStrings = "A2:A8".split(":");
    CellReference start = new CellReference(cellStrings[0]);
    CellReference end = new CellReference(cellStrings[1]);

    CellRangeAddress address = new CellRangeAddress(start.getRow(),
            end.getRow(), start.getCol(), end.getCol());
    System.out.println(address);

这应输出:

org.apache.poi.ss.util.CellRangeAddress [A2:A8]

然后,您可以使用HSSFSheet实例中的addMergedRegion