日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

JAVA操作Excel表格

發(fā)布時間:2023/12/10 编程问答 22 豆豆
生活随笔 收集整理的這篇文章主要介紹了 JAVA操作Excel表格 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

一、JExcelApi 可以從文件或者輸入流進行讀取操作。

基本步驟:

  1.由文件或者輸入流創(chuàng)建一個workbook;

  2.由workbook的getSheet()方法創(chuàng)建一個工作表Sheet(兩種方法,下標和名字,下標從0開始);

  3.由Sheet的getCell(x,y)方法得到某個單元格,cell對象可以讀取它的類型(getType)、內(nèi)容(getContents)等。

讀取excel表格內(nèi)容的代碼如下:

?

1 package com.test; 2 3 import java.io.File; 4 import java.io.IOException; 5 6 import jxl.Cell; 7 import jxl.Sheet; 8 import jxl.Workbook; 9 import jxl.read.biff.BiffException; 10 11 12 13 public class ExcelRead { 14 15 /** 16 * @param args 17 */ 18 public static void main(String[] args) { 19 File f = new File("F:/shar/test/test.xls"); 20 try { 21 Workbook book = Workbook.getWorkbook(f);// 22 Sheet sheet = book.getSheet(0); // 獲得第一個工作表對象 23 for (int i = 0; i < sheet.getRows(); i++) { 24 for (int j = 0; j < sheet.getColumns(); j++) { 25 Cell cell = sheet.getCell(j, i); // 獲得單元格 26 System.out.print(cell.getContents() + " "); 27 //得到單元格的類型 28 //System.out.println(cell.getType()); 29 } 30 System.out.print("\n"); 31 } 32 } catch (BiffException e) { 33 // TODO Auto-generated catch block 34 e.printStackTrace(); 35 } catch (IOException e) { 36 // TODO Auto-generated catch block 37 e.printStackTrace(); 38 } 39 } 40 41 }

?

?

二、創(chuàng)建excel表格的基本步驟:

  1.創(chuàng)建一個WritableWorkbook對象(用Workbook的createWorkbook方法創(chuàng)建),要指定創(chuàng)建一個文件;

  2.創(chuàng)建一個工作表WritableSheet(用workbook對象的createSheet方法創(chuàng)建),注意要是WritableSheet,說明可以對其寫;

  3.創(chuàng)建單元格,再將單元格加入到sheet里;

  4.執(zhí)行workbook的write()方法進行寫操作最后關閉workbook。

創(chuàng)建表格的具體代碼如下:

1 package com.test; 2 3 import java.io.File; 4 import java.io.IOException; 5 6 import jxl.Workbook; 7 import jxl.write.Label; 8 import jxl.write.Number; 9 import jxl.write.WritableSheet; 10 import jxl.write.WritableWorkbook; 11 import jxl.write.WriteException; 12 import jxl.write.biff.RowsExceededException; 13 14 public class ExcelWrite { 15 16 /** 17 * @param args 18 * @throws IOException 19 * @throws WriteException 20 * @throws RowsExceededException 21 */ 22 public static void main(String[] args) throws IOException, RowsExceededException, WriteException { 23 // TODO Auto-generated method stub 24 WritableWorkbook workbook = Workbook.createWorkbook(new File("F:/shar/test/write1.xls")); 25 //生成第一頁的工作表,參數(shù)為0說明是第一頁 26 WritableSheet sheet = workbook.createSheet("第一頁", 0); 27 //指明單元格的位置是第一行第一列,第一個參數(shù)為列 28 Label type = new Label(0,0,"通話類型"); 29 Label poneNo = new Label(1,0,"對方號碼"); 30 Label addr = new Label(2,0,"通話地"); 31 Label time = new Label(3,0,"通話時長"); 32 //將單元格加到工作表中 33 sheet.addCell(type); 34 sheet.addCell(poneNo); 35 sheet.addCell(addr); 36 sheet.addCell(time); 37 //數(shù)字類型 38 //jxl.write.Number number = new jxl.write.Number(0,1,789.123); 39 Label type1 = new Label(0,1,"主叫"); 40 Label poneNo1 = new Label(1,1,"18711370881"); 41 Label addr1 = new Label(2,1,"湖南株洲"); 42 Label time1 = new Label(3,1,"25"); 43 sheet.addCell(type1); 44 sheet.addCell(poneNo1); 45 sheet.addCell(addr1); 46 sheet.addCell(time1); 47 workbook.write(); 48 workbook.close(); 49 } 50 51 }

?

三、對原有的excel文件進行修改

基本步驟:

  1.獲得要修改的文件;

  2.為要修改的文件創(chuàng)建一個副本;

  3.對副本進行操作;

  4.講副本寫到原有的文件中。

具體代碼如下:

1 package com.test; 2 3 import java.io.File; 4 import java.io.IOException; 5 6 import jxl.Workbook; 7 import jxl.read.biff.BiffException; 8 import jxl.write.Label; 9 import jxl.write.WritableSheet; 10 import jxl.write.WritableWorkbook; 11 import jxl.write.WriteException; 12 import jxl.write.biff.RowsExceededException; 13 14 public class ExcelUpdate { 15 16 /** 17 * @param args 18 * @throws IOException 19 * @throws BiffException 20 * @throws WriteException 21 * @throws RowsExceededException 22 */ 23 public static void main(String[] args) throws BiffException, IOException, RowsExceededException, WriteException { 24 // TODO Auto-generated method stub 25 //獲得文件 26 Workbook wb = Workbook.getWorkbook(new File("F:/shar/test/write.xls")); 27 //打開文件的一個副本,并且指定數(shù)據(jù)寫回到原文件 28 WritableWorkbook workbook = Workbook.createWorkbook(new File("F:/shar/test/write.xls"),wb); 29 //添加一個工作表 30 WritableSheet sheet = workbook.createSheet("第二頁", 1); 31 //添加一個單元格 32 Label label = new Label(0,0,"第二頁測試數(shù)據(jù)"); 33 sheet.addCell(label); 34 workbook.write(); 35 workbook.close(); 36 } 37 38 }

?

另可以設置單元格的字體以及對齊方式,代碼如下:

1 package com.test; 2 3 import java.io.File; 4 import java.io.IOException; 5 6 import jxl.Workbook; 7 import jxl.format.Alignment; 8 import jxl.format.VerticalAlignment; 9 import jxl.write.Label; 10 import jxl.write.Number; 11 import jxl.write.WritableCellFormat; 12 import jxl.write.WritableFont; 13 import jxl.write.WritableSheet; 14 import jxl.write.WritableWorkbook; 15 import jxl.write.WriteException; 16 import jxl.write.biff.RowsExceededException; 17 18 public class FontFormat { 19 20 /** 21 * @param args 22 * @throws IOException 23 * @throws WriteException 24 * @throws RowsExceededException 25 */ 26 public static void main(String[] args) throws IOException, RowsExceededException, WriteException { 27 // TODO Auto-generated method stub 28 WritableWorkbook workbook = Workbook.createWorkbook(new File("F:/shar/test/font.xls")); 29 //生成第一頁的工作表,參數(shù)為0說明是第一頁 30 WritableSheet sheet = workbook.createSheet("第一頁", 0); 31 32 //設置字體格式(字體為TIMES,大小為16磅,加粗) 33 WritableFont font = new WritableFont(WritableFont.TIMES,16,WritableFont.BOLD); 34 WritableCellFormat format = new WritableCellFormat(font); 35 //設置數(shù)據(jù)的對齊方式 36 //水平居中 37 format.setAlignment(Alignment.CENTRE); 38 //垂直居中 39 format.setVerticalAlignment(VerticalAlignment.CENTRE); 40 //設置自動還行 41 format.setWrap(true); 42 43 //指明單元格的位置是第一行第一列,第一個參數(shù)為列 44 Label type = new Label(0,0,"通話類型",format); 45 //將單元格加到工作表中 46 sheet.addCell(type); 47 //數(shù)字類型 48 //jxl.write.Number number = new jxl.write.Number(0,1,789.123); 49 Label type1 = new Label(0,1,"主叫"); 50 sheet.addCell(type1); 51 workbook.write(); 52 workbook.close(); 53 } 54 55 }

?

?

?

總結(jié)

以上是生活随笔為你收集整理的JAVA操作Excel表格的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。