Jxl是一个开源的Java Excel API项目,通过Jxl,Java可以很方便的操作微软的Excel文档。除了Jxl之外,还有Apache的一个POI项目,也可以操作Excel,两者相比之下:Jxl使用方便,但功能相对POI比较弱。POI使用复杂,而Jxl较为简单,易于快速入门。
本文提供jxl.jar文件下载,版本为2_6_12。点此下载!http://download.csdn.net/detail/ma_hoking/8813453
【转载使用,请注明出处:http://blog.csdn.net/mahoking】
闲话少说,步入正题,案例演示:
1、创建接口ReadParser
public interface ReadParser {
/**
* 通用解析方法
* @param filePath
*/
public void generalReadMethod(String filePath);
}
2、创建继承类ReadExcelParser
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.io.InputStream;
import jxl.Cell;
import jxl.Sheet;
import jxl.Workbook;
import jxl.read.biff.BiffException;
public class ReadExcelParser implements ReadParser {
//Workbook对象, 只读Workbook对象
private Workbook workbook;
@Override
public void generalReadMethod(String filePath) {
try {
//构建文件的输入流
InputStream inputStream = new FileInputStream(filePath);
//创建Workbook
workbook = Workbook.getWorkbook(inputStream);
//获取Sheet表的个数
int sheetsNum = workbook.getNumberOfSheets();
//获取第一张sheet表,Sheet的下标从0开始
Sheet readSheet = workbook.getSheet(0);
//获取Sheet表中所包含的总列数
int rsColumns = readSheet.getColumns();
//获取Sheet表中所包含的总行数
int rsRows = readSheet.getRows();
//获取指定单元格的对象引用 ,Sheet表示一个二维结构,本例使用两层FOR循环
for (int i = 0; i < rsRows; i++){
for (int j = 0; j < rsColumns; j++) {
Cell cell = readSheet.getCell(j, i);
System.out.print(cell.getContents() + "\t");
}
System.out.println();
}
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (BiffException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
}
4、测试
public class TestMain {
public static void main(String[] args) {
String filePath = "D:\\temp\\excel\\Students.xls";
ReadParser readParser = new ReadExcelParser();
readParser.generalReadMethod(filePath);
}
}
【转载使用,请注明出处:http://blog.csdn.net/mahoking】
原文:http://blog.csdn.net/mahoking/article/details/46524443