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

问题描述 投票:0回答:1

我有一个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();
java excel jxl
1个回答
0
投票

尝试以下内容:

1-代替使用Workbook.createWorkbook,使用Workbook.getWorkbook加载现有工作簿

2-获取工作表的长度,然后将其增加1以定义新工作表在现有工作簿中的位置


WritableWorkbook target = Workbook.getWorkbook(new File("C:/Novas/template_test.xls"));

WritableSheet writeSheet = target.createSheet("Sheet 2", target.getSheets().length+1);

....

Ref:http://jexcelapi.sourceforge.net/resources/javadocs/current/docs/jxl/Workbook.html

希望有帮助!

© www.soinside.com 2019 - 2024. All rights reserved.