使用JXL.jar實現JAVA對EXCEL的讀寫操作

簡介:
jxl.jar是通過java操作excel表格的工具類庫

jxl操作excel包括對象Workbook(工作簿),Sheet(工作表) ,Cell(單元格)。

一個excel就對應一個Workbook對象。

一個Workbook可以有多個Sheet對象。

一個Sheet對象可以有多個Cell對象。

讀取Excel操作
通過Workbook,Sheet ,Cell這三個對象我們就可以實現Excel文件的讀取工作。

讀取步驟:​

1、 選取Excel文件得到工作薄

Workbook workbook = Workbook.getWorkbook(new File("myfile.xls"));

2、 選擇工作表,通過Workbook的getSheet方法選擇第一個工作表(從0開始)

Sheet sheet = workbook.getSheet(0);

3、 選擇Cell

讀取單元格

通過Sheet的getCell方法選擇位置爲C2的單元格(兩個參數都從0開始)

Cell c2 = sheet.getCell(2,1);

4、 讀取信息​

通過Cell的getContents方法讀取單元格的值

把單元格中的信息以字符的形式讀取出來String stringc2 = c2.getContents();

Cell提供了一個getType方法

能夠返回單元格的類型信息,同時JXL提供了一個CellType類用來預設Excel中的類型信息,而且JXL提供了一些Cell類的子類用來分別用來表示各種類型的單元格,如LabelCell,NumberCell,DateCell分別表示字符、數值、日期類型的單元格

5、釋放資源:

workbook.close()
import java.io.File;
import java.io.IOException;

import jxl.Sheet;
import jxl.Workbook;
import jxl.read.biff.BiffException;

/**
 * jxl讀excel
 * 
 * @author jianggujin
 * 
 */
public class JxlReadDemo
{
   public static void main(String[] args) throws BiffException, IOException
   {
      File xlsFile = new File("jxl.xls");
      // 獲得工作簿對象
      Workbook workbook = Workbook.getWorkbook(xlsFile);
      // 獲得所有工作表
      Sheet[] sheets = workbook.getSheets();
      // 遍歷工作表
      if (sheets != null)
      {
         for (Sheet sheet : sheets)
         {
            // 獲得行數
            int rows = sheet.getRows();
            // 獲得列數
            int cols = sheet.getColumns();
            // 讀取數據
            for (int row = 0; row < rows; row++)
            {
               for (int col = 0; col < cols; col++)
               {
                  System.out.printf("%10s", sheet.getCell(col, row)
                        .getContents());
               }
               System.out.println();
            }
         }
      }
      workbook.close();
   }
}

寫入excel操作
通過WritableWorkbook,WritableSheet,Label這三個對象我們就可以實現Excel文件的插入工作。

1、 創建可寫入的Excel工作薄

WritableWorkbook wwb = Workbook.createWorkbook(new File(“myfile.xls”));

2、創建工作表

WritableSheet ws = wwb.createSheet(“通訊錄”, 0);

3、創建單元格

添加文本類單元格

Label labelC = new Label(0, 0, “This is a Label cell”);

ws.addCell(labelC);

4、寫入到文件

wwb.write();// 寫入數據

5、釋放資源:

wwb.close();// 關閉文件

import java.io.File;
import java.io.IOException;

import jxl.Workbook;
import jxl.write.Label;
import jxl.write.WritableSheet;
import jxl.write.WritableWorkbook;
import jxl.write.WriteException;

/**
 * jxl寫Excel
 * 
 * @author jianggujin
 * 
 */
public class JxlWriteDemo
{
   public static void main(String[] args) throws IOException, WriteException
   {
      File xlsFile = new File("jxl.xls");
      // 創建一個工作簿
      WritableWorkbook workbook = Workbook.createWorkbook(xlsFile);
      // 創建一個工作表
      WritableSheet sheet = workbook.createSheet("sheet1", 0);
      for (int row = 0; row < 10; row++)
      {
         for (int col = 0; col < 10; col++)
         {
            // 向工作表中添加數據
            sheet.addCell(new Label(col, row, "data" + row + col));
         }
      }
      workbook.write();
      workbook.close();
   }
}

更新excel操作
1、創建只讀的Excel表副本

Workbook workbook = Workbook.getWorkbook(file);

2、創建可寫入的Excel工作薄

WritableWorkbook writableWorkbook = Workbook.createWorkbook(file, workbook);

3、其他操作與寫入excel操作類似

在這裏插入圖片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章