在 Java 中使用 JXL 复制工作表

2023-11-30

我想将现有 XLS 文档中的一张表复制到新文档的新位置。
我怎样才能用 JXL 做到这一点?

Workbook w1 = Workbook.getWorkbook(new File("ExistingDocument.xls"), settings);

WritableWorkbook w2 = Workbook.createWorkbook(new File("NewDocument.xls"));

/* So here, I would like copy the first sheet from w1 to the second sheet of w2 ... */

w2.write();
w2.close();

w1.close();

edit:
w1.getSheet(0).getCell(0, 0)不是一个WritableCell,所以我无法使用copyTo method.
有什么方法可以添加单元格/工作表w1 to w2作业簿?
edit2:
那么我是否必须创建工作簿到其他文件的可写副本?
(edit3:或者还有其他免费的库可以做到这一点吗?)


Update:


如何将一个工作簿中的工作表复制到另一工作簿中的新工作表?

这是可以做到的,但需要做一些工作。首先,您必须复制它的单元格(在几个嵌套的 for 循环内)。对于每个单元格,您需要调用copyTo()方法,这将产生一个深拷贝。但是,格式只是浅复制,因此您需要获取单元格格式并使用其复制构造函数,然后对刚刚复制的单元格调用 setCellFormat。然后将重复的单元格添加到新电子表格中

代码可能如下所示:

 for (int i = 0 ; i < numrows ; i++){
    for (int j = 0 ; j < numcols ; j++){
        readCell = sheet.getCell(i, j);
        newCell = readCell.copyTo(i, j);
        readFormat = readCell.getCellFormat();
        newFormat = new WritableCellFormat(readFormat);
        newCell.setCellFormat(newFormat);
        newSheet.add(newCell);
    }
}

资源 :

  • JExcel API 常见问题解答
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在 Java 中使用 JXL 复制工作表 的相关文章

随机推荐