我有一个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();
尝试以下内容:
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
希望有帮助!