本文共 2017 字,大约阅读时间需要 6 分钟。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 | 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(); } } } |