页面<a href="downxls.jsp"></a>
下载执行页。downxls.jsp
----------------------------------------
<%@ page language="java" contentType ="text/html;charset=gb2312" %><%@ page import= "java.util.*,org.apache.poi.hssf.usermodel.HSSFWorkbook,org.apache.poi.hssf.usermodel.HSSFSheet,org.apache.poi.hssf.usermodel.HSSFRow,org.apache.poi.hssf.usermodel.HSSFCell,java.io.*,java.io.File,com.jspsmart.upload.SmartUpload" %><%@page import="bh.base.dao.PubDao"%><%@page import="bh.admin.entity.Admin"%><%
HSSFWorkbook wb = new HSSFWorkbook();
HSSFSheet sheet = wb.createSheet( " sheet1 " );
HSSFRow row = sheet.createRow(( short )0);
HSSFCell cell1 = row.createCell(( short )0);
HSSFCell cell2 = row.createCell(( short )1);
HSSFCell cell3 = row.createCell(( short )2);
//设置列宽度,2代表第三列,10000表示宽度
sheet.setColumnWidth((short)2,(short)10000 );
cell1.setEncoding(HSSFCell.ENCODING_UTF_16);
cell2.setEncoding(HSSFCell.ENCODING_UTF_16);
cell3.setEncoding(HSSFCell.ENCODING_UTF_16);
cell1.setCellValue( " 序号 " );
cell2.setCellValue( " 用户名 " );
cell3.setCellValue( " 密码 " );
PubDao pubDao = new PubDao();
String hql = "from bh.admin.entity.Admin i where 1=1";
List l = pubDao.queryList(hql);
Admin admin = new Admin();
if(l.size()>0){
for(int i=0;i<l.size();i++){
admin = (Admin)l.get(i);
int id = admin.getId();
String username = admin.getUsername();
String password = admin.getPassword();
row = sheet.createRow((short)i+1);
cell1 = row.createCell(( short ) 0 );
cell2 = row.createCell(( short ) 1 );
cell3 = row.createCell(( short ) 2 );
cell1.setEncoding(HSSFCell.ENCODING_UTF_16);
cell2.setEncoding(HSSFCell.ENCODING_UTF_16);
cell3.setEncoding(HSSFCell.ENCODING_UTF_16);
cell1.setCellValue(id);
cell2.setCellValue(username);
cell3.setCellValue(password);
}
pubDao.close();
}
String sid = request.getSession().getId();
String filename=application.getRealPath("/")+sid+".xls";
FileOutputStream fo=new FileOutputStream(filename);
wb.write(fo);
fo.close();
// 新建一个SmartUpload对象
SmartUpload su = new SmartUpload();
// 初始化
su.initialize(pageContext);
// 设定contentDisposition为null以禁止浏览器自动打开文件,
//保证点击链接后是下载文件。若不设定,则下载的文件扩展名为
//doc时,浏览器将自动用word打开它。扩展名为pdf时,
//浏览器将用acrobat打开。
su.setContentDisposition(null);
// 下载文件
su.downloadFile(filename);
//文件删除
File f = new File(filename);
boolean flag = false;
if(f.exists()){
flag = f.delete();
if(flag){
System.out.println(filename+"文件删除成功!!!");
}else{
System.out.println(filename+"文件删除失败!!!");
}
}else{
System.out.println("文件找不到!!");
}
%>
注:<%%>标签外不能加空格·回车·换行等等。