jxl.jar包中createSheet()方法中String類型的參數表明新建工做表的名稱,int參數表示新建工做表的編號。java
當新建的2個sheet編號相同時會發生什麼狀況?新的工做表會覆蓋舊的工做表嗎?實踐出真知:數組
public static void main(String args[]) throws BiffException, IOException, WriteException{ System.out.println("zhangyujian"); //建立文件 File xlsFile= new File("vita.xls"); //建立工做簿 WritableWorkbook workbook = Workbook.createWorkbook(xlsFile); //建立工做表 //WritableSheet sheet = workbook.createSheet("sheet00", 0); workbook.createSheet("sheet00", 0); workbook.createSheet("sheet01", 0); workbook.createSheet("sheet02", 0); //關閉工做簿 workbook.close(); }
運行結果:code
由結果能夠看出,新建立的工做表會變成第一頁,而以前建立的工做表並未被覆蓋,而是向後移變成了第二頁。blog
當是用不連續的編號建立工做表時,會發生什麼狀況?排序
public static void main(String args[]) throws BiffException, IOException, WriteException{ System.out.println("zhangyujian"); //建立文件 File xlsFile= new File("vita.xls"); //建立工做簿 WritableWorkbook workbook = Workbook.createWorkbook(xlsFile); //建立工做表 //WritableSheet sheet = workbook.createSheet("sheet00", 0); workbook.createSheet("sheet00", 0); workbook.createSheet("sheet01", 1); workbook.createSheet("sheet02", 3); //關閉工做簿 workbook.close(); }
運行結果:get
由結果看出,編號爲3的工做表,並非第4頁,而是第3頁。且此時若是調用方法getSheet(3)時將會報數組越界的錯誤。Exception in thread "main" java.lang.IndexOutOfBoundsException: Index: 3, Size: 3
it
綜合的例子來判斷一下排序的邏輯:io
public static void main(String args[]) throws BiffException, IOException, WriteException{ System.out.println("zhangyujian"); //建立文件 File xlsFile= new File("vita.xls"); //建立工做簿 WritableWorkbook workbook = Workbook.createWorkbook(xlsFile); //建立工做表 //WritableSheet sheet = workbook.createSheet("sheet00", 0); workbook.createSheet("sheet04", 4); workbook.createSheet("sheet03", 3); workbook.createSheet("sheet02", 2); workbook.createSheet("sheet01", 1); workbook.createSheet("sheet00", 0); //關閉工做簿 workbook.close(); }
運行結果:table
由結果可得,首次建立的sheet04雖然編號爲4,可是工做簿中不存在其餘頁,因此它是第一頁,此時編號實際爲0;建立sheet03時,雖然標號爲3,可是此時工做簿中僅有一張表,根據例2,因此它順延後實踐編號爲1,在工做簿的第二頁;建立sheet02時,編號爲2,此時的工做簿中已經有0、1編號,因此編號爲2的sheet02剛好放置在工做簿的第3頁,也就是此時的最後一頁;建立sheet01時,編號爲1,根據例1,它會插入的標號爲1的位置,此時順序爲sheet04 sheet01 sheet03 sheet02;建立最後一張表sheet0,編號爲0,即將其插入到編號爲0的位置,第一頁。因此最後的排序是sheet00 sheet04 sheet01 sheet03 sheet02。class
綜上,createSheet()方法的int參數與實際編號的關係,不妨能夠這樣歸納:
我的認爲,第三種爲經常使用、簡單的用法。