簡介:
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操作類似