准备:jxl.jar,jspsmartupload.jar 两个包 excel表格
1.上传excel获得路径
SmartUpload su=new SmartUpload();
su.initialize(this.getServletConfig(), request, response);try {
su.upload();
String strname=su.getFiles().getFile(0).getFileName();
String abPath=this.getServletContext().getRealPath("/kejian");
//3.设定允许上传的文件(通过扩展名限制),仅允许doc、txt文件.
su.setAllowedFilesList("xls");
//4.设定禁止上传的文件(通过扩展名限制),禁止上传带有exe、bat、jsp、htm、html扩展名的文件和没有扩展名的文件
su.setDeniedFilesList("ext,bat,jsp,htm,html,txt,doc,pdf,,");
String filepath=abPath+File.separator+strname;
su.getFiles().getFile(0).saveAs(filepath);
escelTeachStu(filepath);
request.getRequestDispatcher("teacher/excelupload.jsp").forward(request, response);
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
//通过excel路径获得数据并写到数据库
public void escelTeachStu(String filepath){
try {
Workbook book = Workbook.getWorkbook(new File(file));
Sheet sheet = book.getSheet( 0 );
int rows = sheet.getRows();
int cols = sheet.getColumns();
TeachStuImp st=new TeachStuImp();
for (int x = 1; x <rows; x++) {
List<String>list=new ArrayList<String>();
for (int j = 0; j < cols; j++) {
Cell xy = sheet.getCell(j, x);
list.add(xy.getContents());
}
// 将数据插入数据库表
TeachStu am=new TeachStu(list.get(0),list.get(1),list.get(2));st.add(am);
}
} catch (BiffException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}