package cn.itcast.excel.domain;
import java.io.File;
import java.io.IOException;
import jxl.Sheet;
import jxl.Workbook;
public class ImportTest {
public static void main(String[] args) throws Exception, IOException {
// 直接指定了excel的位置,web项目中需要上传读取到
File file = new File("E://绩效发放安排导入模板.xls");
// 把excel转换为 Java类
Workbook wk = Workbook.getWorkbook(file);
// 得到excel的工作表
Sheet sheet = wk.getSheet(0);
// 得到工作表中的列数,得到的是总数,但是下标是从0开始
int cols = sheet.getColumns(); // 列
// 得到工作表中的行数,得到的是总数,但是下标是从0开始
int rows = sheet.getRows(); // 行
System.out.println("cols="+cols+",,rows="+rows);
// 遍历每一行,取出每一列的数据 ,此处j从1开始,是去除了表头的信息
for (int j = 1; j < rows; j++) {
for (int i = 0; i < cols; i++) {
String context = sheet.getCell(i, j).getContents();
System.out.println(j+"行,"+i+"列,"+context);
// context 就是每一个单元格的内容
// 在此处可以对内容进行验证
}
// 如果需要保存到对象中,可以不用上面循环 用i++ 得到数据,进行判断然后set值到对象中
int i = 0 ;
String context = sheet.getCell(i++, j).getContents(); // 对内容进行判断
// 保存到对象
// 每一个外环把对象放到List集合中
}
}
}
以上实现了jxl对excel的导入,但是仅仅是简单的导入导出,
有时间可以将此封装成工具类,导入excel后,直接返回成一个二维数据,
而且可以去掉首行的表头。