java - 使用 java jxl 在现有工作簿中添加新工作表

标签 java excel jxl

我有一个 Java 应用程序,我使用 JXL API 管理 Excel 工作簿。 我想在已有工作表的现有工作簿中创建一个新工作表(因此我想创建第二个工作表)。 但我不想删除现有的工作簿和工作表,只需添加一个新的工作簿和工作表并在其中添加数据。

我怎样才能实现这一目标?

我尝试过的以下代码对我不起作用,它会删除现有的工作簿:

   //this is my existing workbook that I want to open and not erase
   //I can't use getWorkbook for WritableWorkbook
WritableWorkbook target = Workbook.createWorkbook(new File("C:/Novas/template_test.xls"));
   //I want to add a new sheet after the existing sheet
WritableSheet writeSheet = target.createSheet("Sheet 2", 1);
Label label = new Label(0,0,"test");
writeSheet.addCell(label);
target.write();
target.close();

最佳答案

终于找到解决办法了。这是我更新的代码:

Workbook source = Workbook.getWorkbook(new File("C:/Novas/template_test.xls"));
   //just use the createWorkbook method that uses an existing Workbook and will copy it
WritableWorkbook target = Workbook.createWorkbook(new File("C:/Novas/template_copy.xls"),source);
   //then create the new sheet after the existing that will not be erased
WritableSheet writeSheet = target.createSheet("Sheet 2", 1);

关于java - 使用 java jxl 在现有工作簿中添加新工作表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58833829/

相关文章:

java - JPA 处理关系的 merge()

java - 将 .class 文件转换为 .jar 文件的 .java 文件

java - list 合并失败: Attribute application@appComponentFactory cant solve this

Jxl 和最大格式化单元格数

java - 下载某些 Excel 文件并解释其某些值

Java控制台编码问题

vba - 使用 For Next 循环转换超过 500 行的日期格式

vba - Excel VBA 将多行数据连接成一行

sql-server - SSIS 从带有 Where 条件的 Excel 工作表中选择

java - XLS - 条件格式 - Java POI 示例