在开源世界中,有两套比较有影响的API可供使用,一个是POI,一个是jExcelAPI。其中功能相对POI比较弱一点。但jExcelAPI对中文支持非常好,API是纯Java的1.要使用jExcelAPI 来操作Excle首先必须导入依赖jar包
得到jxl.jar
2.创建一个普通的类来简单测试:
package com.mive.test;
import java.io.File;
import jxl.Cell;
import jxl.Sheet;
import jxl.Workbook;
import jxl.write.Label;
import jxl.write.WritableSheet;
import jxl.write.WritableWorkbook;
public class CreateExcle {
/**
* @param args
*/
public static void main(String[] args) {
setExcle();
getExcle();
}
<span style="font-family:Verdana, 'Lucida Grande', Arial, Helvetica, sans-serif;">//写入</span>
public static void getExcle() {
try {
//获取需要读取文件(工作簿)
Workbook workbook = Workbook.getWorkbook(new File("test2.xls"));
//获取工作表
Sheet sheet = workbook.getSheet("测试工作表");
//获取总行数
int rows = sheet.getRows();
for (int i = 0; i < rows; i++) {
Cell[] cells = sheet.getRow(i);
for (int j = 0; j < cells.length; j++) {
Cell cell = cells[j];
System.out.println(cell.getContents());
}
System.out.println("-----------------");
}
/*获取单元格第二行第三列
* Cell cell1 = sheet.getCell(2, 3);
String result = cell1.getContents();
System.out.println(result);*/
workbook.close();
} catch (Exception e) {
e.printStackTrace();
}
}
<span style="font-family:Verdana, 'Lucida Grande', Arial, Helvetica, sans-serif;">//读取</span>
public static void setExcle(){
try {
//创建工作簿
WritableWorkbook book = Workbook.createWorkbook(new File("test2.xls"));
//创建工作表,0代表第一个工作表
WritableSheet sheet = book.createSheet("测试工作表",0);
//设置单元格,设置显示位置和内容
for(int i=10;i<=18;i++){
for(int j=10;j<=15;j++){
Label label = new Label(i, j, i+"行"+j+"列");
sheet.addCell(label);
}
}
/* 生成一个保存数字的单元格 必须使用Number的完整包路径,否则有语法歧义 单元格位置是第二列,第一行,值为789.123*/
jxl.write.Number number = new jxl.write.Number(1, 0, 555.12541);
sheet.addCell(number);
// 内存写入文件
book.write();
//关闭资源,释放内存
book.close();
} catch (Exception e) {
// TODO: handle exception
}
}
}
测试可以发现生成一个新文件test2.xls
写入了数据,并且读取在控制台打印出来。