package com.ce.worldExcel;
import java.io.File;
import java.io.IOException;
import jxl.Sheet;
import jxl.Workbook;
import jxl.read.biff.BiffException;
import jxl.write.Label;
import jxl.write.WritableSheet;
import jxl.write.WritableWorkbook;
import jxl.write.WriteException;
import jxl.write.biff.RowsExceededException;
// 在小数据量时jxl快于poi,在大数据量时poi要快于jxl。但差距都不明显。
public class ExcelJxl {
public static void main(String[] args) {
try {
// WriteDemo();
ReadDemo();
} catch (Exception e) {
e.printStackTrace();
}
}
/**
* jxl写Excel
*
* @throws IOException
* @throws RowsExceededException
* @throws WriteException
*/
public static void WriteDemo() throws IOException, RowsExceededException, WriteException {
File xlsFile = new File("E:\\新建文件夹 (2)\\jxl.xls");
// 创建一个工作簿
WritableWorkbook workbook = Workbook.createWorkbook(xlsFile);
// 创建一个工作表
WritableSheet sheet = workbook.createSheet("sheet2", 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();
}
/**
* jxl读Excel
*
* @throws BiffException
* @throws IOException
*/
public static void ReadDemo() throws BiffException, IOException {
File xlsFile = new File("E:\\新建文件夹 (2)\\xls.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();
}
}
jar 包jxl.jar