開發中有時候需要把一些數據記錄在Excel表格中,便於觀察分析數據。這里操作Excel表格使用的是jxl.jar,jxl.jar是java操作Excel的一個工具類庫,同樣的工具類還有apache的poi,在小數據量時jxl快於poi,在大數據量時poi要快於jxl。但差距都不明顯。
我們直接看下面兩個讀寫Excel表格的簡單示例:
寫Excel表格數據:
private static void writeExcel() throws IOException, RowsExceededException,
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();
}
寫完效果如下:
如果讀取項目下的students.xls表格,數據如下:
讀數據示例代碼:
private static void readExcel() throws BiffException, IOException {
File xlsFile = new File("students.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++) {
Cell cell = sheet.getCell(col, row);
System.out.print(cell.getContents() + " ");
}
System.out.println();
}
}
}
workbook.close();
}
輸出效果: