jxl是一个韩国人写的java操作excel的工具, 在开源世界中,有两套比较有影响的API可 供使用,一个是POI,一个是jExcelAPI。其中功能相对POI比较弱一点。但jExcelAPI对中文支持非常好,API是纯Java的, 并不 依赖Windows系统,即使运行在Linux下,它同样能够正确的处理Excel文件。 另外需要说明的是,这套API对图形和图表的支持很有限,而且 仅仅识别PNG格式。读取数据如下:
import java.io.File;
import java.util.ArrayList;
import java.util.List;
import jxl.Cell;
import jxl.Sheet;
import jxl.Workbook;
public class ExcelUtils {
public static String readExcelXY(Workbook book, int x, int y) {
// 获得第一个工作表对象
Sheet sheet = book.getSheet(0);
// 得到第一列第一行的单元格
Cell cell1 = sheet.getCell(x, y);
return cell1.getContents();
}
public static List<String[]> readExcelAll(Workbook book, int maxX, int maxY) {
List<String[]> list = new ArrayList<String[]>();
for (int y = 0; y < maxY; y++) {
String[] arr = new String[maxX];
for (int x = 0; x < maxX; x++) {
arr[x] = readExcelXY(book, x, y);
}
list.add(arr);
}
return list;
}
public static Workbook createWorkbook(String file){
Workbook book = null;
try {
book = Workbook.getWorkbook(new File(file));
} catch(Exception e) {
e.printStackTrace();
}
return book;
}
public static void main(String[] args) {
Workbook book = createWorkbook("c:\\Book1.xls");
int maxY = 864;
int maxX = 4;
List<String[]> list = readExcelAll(book, maxX, maxY);
for (String[] str : list) {
for (String s : str) {
System.out.print(s+"-");
}
System.out.println();
}
book.close();
}
}
待续。。。。。。。