/**
* Excel解析类
*
* @author tim
*
*/
public class ExcelParse {
// 记录读取开始时间
private static long sTime = 0;
// 记录读取结束时间
private static long eTime = 0;
// 记录读取完毕所用时间
private static long time = 0;
private static Workbook wb;
/**
* 读取Excel文件的内容
*
* @param file
* 待读取的文件
* @return
*/
public static void parseExcel(File file) {
try {
sTime = System.currentTimeMillis();
// 构造Workbook(工作薄)对象,此先将EXCEL文件装入内存,易引起内存溢出!
wb = Workbook.getWorkbook(file);
if (wb == null) {
return;
}
// 获得了Workbook对象之后,就可以通过它得到Sheet(工作表)对象了
Sheet[] sheet = wb.getSheets();
if (sheet != null && sheet.length > 0) {
// 对每个工作表进行循环
for (int i = 0; i < sheet.length; i++) {
int sheetNumber = i + 1;
// 得到当前工作表的名字
String sheetName = sheet.getName();
System.out.println("********正在读取第" + sheetNumber + "个工作表:"
+ sheetName + "********");
// 得到当前工作表的行数
int rowNum = sheet.getRows();
for (int j = 0; j < rowNum; j++) {
// 记录行号
int lineNumber = j + 1;
System.out.println("\n******正在读取第" + lineNumber
+ "行数据******");
// 得到当前行的所有单元格
Cell[] cells = sheet.getRow(j);
if (cells != null && cells.length > 0) {
// 对每个单元格进行循环
for (int k = 0; k < cells.length; k++) {
// 记录列号
int columeNumber = k + 1;
// 读取当前单元格的值
String cellValue = cells[k].getContents();
System.out.println("***第" + columeNumber
+ "列数据:" + cellValue);
}
}
}
}
eTime = System.currentTimeMillis();
time = eTime - sTime;
System.out.println("\n******读取完毕,共耗时:" + time + "毫秒******");
}
} catch (BiffException e) {
e.printStackTrace();
} catch (IOException e) {
System.out.println("读入文档时错: " + e.getMessage());
} finally {
// 最后关闭资源,释放内存
if (wb != null) {
wb.close();
}
}
}
}
JXL读取EXCEL
最新推荐文章于 2023-11-06 20:48:23 发布