XSSFSheet wire_drawing = (XSSFSheet) wb.getSheetAt(0);
XSSFRow r1 = wire_drawing.getRow(3);
XSSFCell c1 = r1.getCell(8);
c1.setCellValue(wd);
NoOfTickects(n1,"0");
XSSFRow row5 = wire_drawing.getRow(3);
XSSFCell cell4 = row5.getCell(4);
cell4.setCellValue("2/"+ diameter + "mm HD");
XSSFSheet stranding = (XSSFSheet) wb.getSheetAt(1);
XSSFRow r2 = stranding.getRow(2);
XSSFCell c2 = r2.getCell(10);
c2.setCellValue(bs);
NoOfTickects(n2,"1");
这是我在excel表上插入数据的代码。我使用NoOfTickets()方法克隆工作表,定义如下:
public void NoOfTickects(int no, String sheet_index){
switch(sheet_index){
case "0" :
if(no==2){
wb.cloneSheet(0);
}
else {
for(int i =0 ; i<no ; i=i+2){
wb.cloneSheet(0);
}
}
break;
case "1" :
if(no==2){
wb.cloneSheet(1);
}
else {
for(int i =0 ; i<no ; i=i+2){
wb.cloneSheet(1);
}
}
break;
case "2" :
if(no==2){
wb.cloneSheet(2);
}
else {
for(int i =0 ; i<no ; i=i+2){
wb.cloneSheet(2);
}
}
break;
变量&#34; no&#34;是所需的工作表数量。最初,工作表看起来像
运行代码后,工作表将
正如您在第二个工作表底部看到的那样,工作表现在超过五个。如何删除额外的工作表,以便下次运行代码时,额外的工作表将仅附加到前五个工作表中?
答案 0 :(得分:0)
for(int rowq = 8; rowq < wb.getNumberOfSheets(); rowq++) {
wb.removeSheetAt(rowq);
}
我找到了上面的解决方案。以防万一其他人将面临同样的挑战