读书人

Java中Excel的导入跟导出

发布时间: 2012-12-28 10:29:05 作者: rapoo

Java中Excel的导入和导出

首先需要一个jxl.jar包,没有的话可以从网上下载一个


一. Excel导入



先在前台页面定义一个获取Excel文件路径的Input



<input type="file" name="excel" title="Excel文件" />



然后把这个路径传到后台类中



String excel=request.getParameter("excel");
Workbook wb = null;
try {


//构造Workbook(工作薄)对象
wb=Workbook.getWorkbook(new File(excel));


} catch (BiffException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}

if(wb==null)
return null;

//获得了Workbook对象之后,就可以通过它得到Sheet(工作表)对象了
Sheet[] sheet = wb.getSheets();

if(sheet!=null&&sheet.length>0){
//对每个工作表进行循环
for(int i=0;i
//得到当前工作表的行数
int rowNum = sheet[i].getRows();
for(int j=0;j
//得到当前行的所有单元格
Cell[] cells = sheet[i].getRow(j);
if(cells!=null&&cells.length>0){
//对每个单元格进行循环
for(int k=0;k
//读取当前单元格的值
String cellValue = cells[k].getContents();
}
}
}
}
}
//最后关闭资源,释放内存
wb.close();
}







二. Excel导出



Excel导出在前台页面只需要添加一个到后台类的链接





//response.reset(); 如果前面使用过response则需要reset一下


OutputStream os4 = response.getOutputStream();



response.setContentType("application/msexcel");
response.addHeader("Content-Disposition","attachment; filename="+ new String("旅游团派工单.xls".getBytes("GBK"), "iso-8859-1"));



WritableWorkbook wwb = null;
try {


//首先要使用Workbook类的工厂方法创建一个可写入的工作薄(Workbook)对象
wwb = Workbook.createWorkbook(os4);


} catch (IOException e) {
e.printStackTrace();
}


if(wwb!=null){
//创建一个可写入的工作表
//Workbook的createSheet方法有两个参数,第一个是工作表的名称,第二个是工作表在工作薄中的位置
WritableSheet ws = wwb.createSheet("sheet1", 0);

//下面开始添加单元格
for(int i=0;i<10;i++){
for(int j=0;j<5;j++){


//这里需要注意的是,在Excel中,第一个参数表示列,第二个表示行
Label labelC = new Label(j, i, "这是第"+(i+1)+"行,第"+(j+1)+"列");


try {
//将生成的单元格添加到工作表中
ws.addCell(labelC);
} catch (RowsExceededException e) {
e.printStackTrace();
} catch (WriteException e) {
e.printStackTrace();
}

}
}

try {
//从内存中写入文件中
wwb.write();
//关闭资源,释放内存
wwb.close();

os4.flush();
os4.close();
} catch (IOException e) {
e.printStackTrace();
} catch (WriteException e) {
e.printStackTrace();
}
}

读书人网 >编程

热点推荐