public void readExcel(String sourcefile){
try {
// 构建Workbook对象, 只读Workbook对象
// 直接从本地文件创建Workbook
// 从输入流创建Workbook
QdService as;
AbstractApplicationContext ctx=new ClassPathXmlApplicationContext("applicationContext.xml");
as=(QdService)ctx.getBean("qdongService");
InputStream is = new FileInputStream(sourcefile);
//获得workbook 工作薄
Workbook rwb = Workbook.getWorkbook(is);
//Workbook rwb = Workbook.getWorkbook(new File(sourcefile));
// 获取第一张Sheet 工作表
Sheet rs = rwb.getSheet(1);
// 获取Sheet表中所包含的总列数,
int rsColumns = rs.getColumns();
// 获取Sheet表中所包含的总行数,示例:
//获取某一行的所有单元格,返回的是单元格对象数组,示例:
// Cell[] cell = rs.getRow(0);
int rsRows = rs.getRows();
System.out.println(rsColumns+","+rsRows);
for(int i=1;i<rsRows;i++){
Qdong qdong=as.findQdongId(i);
if(qdong==null){
qdong=new Qdong();
}
// qdong.setId(as.AllQdong().size()+1);
System.out.print(rs.getCell(12, i).getContents());
qdong.setBore(rs.getCell(0, i).getContents());
qdong.setRoute(rs.getCell(1, i).getContents());
qdong.setA(rs.getCell(2, i).getContents());
qdong.setB(rs.getCell(3, i).getContents());
qdong.setC(rs.getCell(4, i).getContents());
qdong.setD(rs.getCell(5, i).getContents());
qdong.setE(rs.getCell(6, i).getContents());
qdong.setF(rs.getCell(7, i).getContents());
qdong.setG(rs.getCell(8, i).getContents());
qdong.setX(rs.getCell(9, i).getContents());
qdong.setY(rs.getCell(10, i).getContents());
qdong.setZ(rs.getCell(11, i).getContents());
qdong.setImage1(rs.getCell(12, i).getContents());
qdong.setImage2(rs.getCell(13, i).getContents());
qdong.setPrice(rs.getCell(14, i).getContents());
qdong.setNum(Integer.parseInt(rs.getCell(15, i).getContents()));
qdong.setDiscount((rs.getCell(16, i).getContents()));
qdong.setNum1(Integer.parseInt(rs.getCell(17, i).getContents()));
qdong.setDiscount1((rs.getCell(18, i).getContents()));
qdong.setNum2(Integer.parseInt(rs.getCell(19, i).getContents()));
qdong.setDiscount2((rs.getCell(20, i).getContents()));
qdong.setPrice1(rs.getCell(21, i).getContents());
qdong.setSupplier1(rs.getCell(22, i).getContents());
qdong.setSupplier2(rs.getCell(23, i).getContents());
/*for(int j=0;j<rsColumns;j++){
Cell a=rs.getCell(j,i);
System.out.print(a.getContents()+",");
}*/
as.add(qdong);
System.out.println();
}
// 获取第一行,第一列的值
// Cell c00 = rs.getCell(0, 0);
/* String strc00 = c00.getContents();
// 获取第一行,第二列的值
Cell c10 = rs.getCell(1, 0);
String strc10 = c10.getContents();
// 获取第二行,第二列的值
Cell c11 = rs.getCell(1, 1);
String strc11 = c11.getContents();
// 获得cell具体类型值的方式
if (c00.getType() == CellType.LABEL){
LabelCell labelc00 = (LabelCell) c00;
System.out.println(labelc00.getString());
}
System.out.println("Cell(0, 0)" + " value : " + strc00
+ "; type : " + c00.getType());
System.out.println("Cell(1, 0)" + " value : " + strc10
+ "; type : " + c10.getType());
System.out.println("Cell(1, 1)" + " value : " + strc11
+ "; type : " + c11.getType());*/
rwb.close();
is.close();
} catch (Exception e){
e.printStackTrace();
}
}