Java读写Excel表格数据
开发中有时候需要把一些数据记录在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();
}
输出效果: