天天看點

JXL示例

用JAVA操作Excel表格。

建立一個EXCEL并添加内容:

import java.io.File;

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

public class CreateExcel {

	public static void main(String args[]) {
		try {
			// 打開檔案
			WritableWorkbook book = Workbook.createWorkbook(new File("F:/doc/JXL/test.xls"));
			// 生成名為"第一頁"的工作表,參數0表示這是第一頁
			WritableSheet sheet = book.createSheet("第一頁", 0);
			// 在Label對象的構造子中指名單元格位置是第i列第j行(0,0)
			// 以及單元格内容為test
			for (int i=0; i<10; i++) {// 代表列
				for(int j=0; j<i;j++) {// 代表行
					Label label = new Label(i, j, "test:i="+i+";j="+j);
					// 将定義好的單元格添加到工作表中
					sheet.addCell(label);
				}
			}

			// 生成名為"第二頁"的工作表,參數1表示這是第二頁
			WritableSheet sheet2 = book.createSheet("第二頁", 1);
			for (int i=0; i<10; i++) {// 代表列
				for(int j=0; j<i;j++) {// 代表行
					// 生成一個儲存數字的單元格,必須使用Number的完整包路徑否則有文法歧義,單元格位置是第i列第j行,值為789.123
					jxl.write.Number number = new jxl.write.Number(i, j, 789.123);
					sheet2.addCell(number);
				}
			}

			// 寫入資料并關閉檔案
			book.write();
			book.close();
		} catch (Exception e) {
			System.out.println(e);
		}
	}
}
           

修改剛才的Excel内容:

public class UpdateExcel {
	
	public static void main(String args[]) {
		try {
			// Excel獲得檔案
			Workbook wb = Workbook.getWorkbook(new File("F:/doc/JXL/test.xls"));
			// 打開一個檔案的副本,并且指定資料寫回到原檔案
			WritableWorkbook book = Workbook.createWorkbook(new File(
					"F:/doc/JXL/test.xls"), wb);
			
			// 獲得第一個工作表對象
			WritableSheet sheet = book.getSheet(0);
			// 得到第i列第j行的單元格
			for (int i=0; i<10; i++) {// 代表列
				for(int j=10; j<20;j++) {// 代表行
					Label label = new Label(i, j, "test:i="+i+";j="+j);
					// 将定義好的單元格添加到工作表中
					sheet.addCell(label);
				}
			}
			
			// 獲得第二個工作表對象
			WritableSheet sheet2 = book.getSheet(1);
			// 得到第i列第j行的單元格
			for (int i=0; i<10; i++) {// 代表列
				for(int j=10; j<20;j++) {// 代表行
					jxl.write.Number number = new jxl.write.Number(i, j, 3.1415926);
					sheet2.addCell(number);
				}
			}

			// 添加一個工作表
			WritableSheet sheet3 = book.createSheet("第三頁", 2);
			sheet3.addCell(new Label(0, 0, "第三頁的測試資料"));
			
			book.write();
			book.close();
		} catch (Exception e) {
			System.out.println(e);
		}
	}
}
           

讀取Excel内容到代碼:

import java.io.File;

import jxl.Cell;
import jxl.Sheet;
import jxl.Workbook;

public class ReadExcel {

	public static void main(String args[]) {
		try {
			Workbook book = Workbook.getWorkbook(new File("F:/doc/JXL/test.xls"));
			// 獲得第一個工作表對象
			Sheet sheet = book.getSheet(0);
			// 得到第i列第j行的單元格
			for (int i=0; i<10; i++) {// 代表列
				for(int j=0; j<i;j++) {// 代表行
					Cell cell = sheet.getCell(i, j);// 得到第i列,第j行的資料
					String result = cell.getContents();
					System.out.println(result);
				}
			}

			// 獲得第二個工作表對象
			Sheet sheet2 = book.getSheet(1);
			// 得到第i列第j行的單元格
			for (int i=0; i<10; i++) {// 代表列
				for(int j=0; j<i;j++) {// 代表行
					Cell cell = sheet2.getCell(i, j);// 得到第i列,第j行的資料
					String result = cell.getContents();
					System.out.println(result);
				}
			}
			
			book.close();
		} catch (Exception e) {
			System.out.println(e);
		}
	}
}
           

測試成功。