package com.jExcelApi.test;import java.io.File;import java.io.IOException;import jxl.Workbook;import jxl.read.biff.BiffException;import jxl.write.Label;import jxl.write.Number;import jxl.write.WritableSheet;import jxl.write.WritableWorkbook;import jxl.write.WriteException; /** * JExcelApi修改Excel的內容 * @author kanjingcai * 註:必須加JexcelApi的jar執行 */public class UpdateExcel { public static void main(String args[]){ try { //獲得建立名為Myfile.xls檔案 Workbook workBook =Workbook.getWorkbook(new File("D:\\myFile.xls")); //拷貝一個副本,並指定到原檔案 WritableWorkbook copy1 =Workbook.createWorkbook(new File("D:\\myFile.xls"),workBook); //拷貝一個副本名為新的output.xls // WritableWorkbook copy2 =Workbook.createWorkbook(new File("D:\\output.xls"),workBook); //或者直接修改D:\\myFile.xls檔案 WritableSheet sheet1 = copy1.getSheet(0); //新的excel檔案,拷貝第一頁工作表到output.xls檔案中,(0)代表第一頁 // WritableSheet sheet2 =copy2.getSheet(0); //獲得第0行,第二列資料(0,2) // WritableCell cell1 =sheet1.getWritableCell(0,2); //新的excel檔案,獲得第0行,第二列資料(0,2) // WritableCell cell2 =sheet2.getWritableCell(0,2); Label label =new Label(0, 2, "新的紀錄"); sheet1.addCell(label); Number number =new Number(3,4,3.141591); sheet1.addCell(number); //修改獲得第0行,第二列資料(0,2)的內容 //獲得儲存格的類型 /* if(cell1.getType() ==CellType.LABEL){ Label l =(Label)cell1; //修改的內容 l.setString("修改MyFile資料儲存格"); } */ //修改資料,必須關閉檔案 copy1.write(); copy1.close(); // copy2.write(); // copy2.close(); } catch (BiffException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (WriteException e) { // TODO Auto-generated catch block e.printStackTrace(); } } }