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(); } } }