有时候,需要用Java读写(很多时候是写)Excel,生成报表之类的需求,JExcelAPI是一个开源的Java操作Excel工具,其还能对多个Sheet进行操作,且API非常简单易懂
下面是一个利用JExcelAPI写入和读取Excel的例子,非常简单
package com.yf.jxl;
import java.io.File;
import java.io.IOException;
import jxl.Cell;
import jxl.Sheet;
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;
import jxl.write.biff.RowsExceededException;
public class JXLDemo {
public static void main(String[] args) {
try {
File f = new File("D:\\tmp\\output.xls");
if (f.exists()) {
f.delete();
}
/*
* 增加一个Sheet
*/
f.createNewFile();
// 创建Excel文件
WritableWorkbook wworkbook = Workbook.createWorkbook(f);
// 创建第一个Spreadsheets
WritableSheet wsheet = wworkbook.createSheet("First Sheet", 0);
// 在第一个Spreadsheets的第1列、第3行写入一个文本
Label label = new Label(0, 2, "A label record");
wsheet.addCell(label);
// 在第一个Spreadsheets的第4列、第5行写入一个数字
Number number = new Number(3, 4, 3.1459);
wsheet.addCell(number);
wworkbook.write();
wworkbook.close();
/*
* 读取指定Sheet中的内容
*/
Workbook workbook = Workbook.getWorkbook(f);
Sheet sheet = workbook.getSheet(0);
Cell cell1 = sheet.getCell(0, 2);
System.out.println(cell1.getContents());
Cell cell2 = sheet.getCell(3, 4);
System.out.println(cell2.getContents());
workbook.close();
} catch (RowsExceededException e) {
e.printStackTrace();
} catch (WriteException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
} catch (BiffException e) {
e.printStackTrace();
}
}
}
JExcelAPI