动态导出excel 怎样才能点击“导出”那个超链接之后, IE就会弹出一个提示框,询问你是要保存还是要打开这个Excel文件。请各位大侠赐教 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 String localPath = ServletActionContext.getServletContext() .getRealPath("/template") + "/"; File imageFile = new File(localPath + fileName);// 获取文件路径 // 读取excel表头信息 Workbook book = Workbook.getWorkbook(imageFile); Sheet workSheet = book.getSheet(0); String sheetName = ""; sheetName = fileName.substring(0,fileName.lastIndexOf(".")); int rows = workSheet.getRows(); int cols = workSheet.getColumns(); String param[] = new String[cols]; String rowParam[] = new String[rows]; // 创建excel文件 response.setContentType("application/ms-excel"); // 这里解释一下 // attachment; 这个代表要下载的,如果去掉就编程直接打开了 // filename是文件名,另存为或者下载时,为默认的文件名 response.addHeader("Content-Disposition", "attachment; filename=" + new String(sheetName.getBytes("GBK"), "ISO-8859-1") + ".xls"); OutputStream os = response.getOutputStream(); WritableWorkbook wwb = Workbook.createWorkbook(os); WritableSheet writeSheet = null;关键的地方 获取数据写excel的就不用发了吧 记得我回复过这样的帖子的:我大概是这么实现的 在目录下新建个文件夹excel 然后把你要导出的jsp页面复制一下在excel目录下 新的jsp文件里面需要加这段代码,当然进这个页面之前还是要进行后台查询的。具体看你用什么实现的了java.text.SimpleDateFormat tempDate = new java.text.SimpleDateFormat("yyyyMMddHHmmss");String time = tempDate.format(new Date());String fileName = "订单信息_" + time + ".xls";fileName = new String(fileName.getBytes("GBK"), "ISO8859_1");response.setHeader("Content-Disposition", "attachment;filename="+ fileName);response.setDateHeader("Expires", 0);response.setHeader("Cache-Control", "no-cache");response.setHeader("Pragma", "no-cache"); head中间加上这个 防止中文乱码<meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 字节流直接输出到response上,代码自己百度 那就是一个IE的下载对话框,我把弹出IE下载对话框的代码贴出来protected void downloadExcel(HSSFWorkbook workbook, HttpServletResponse response, String filename)throws IOException { OutputStream out = response.getOutputStream(); response.setHeader("Content-disposition", "attachment;filename=" + URLEncoder.encode(filename, "UTF-8")); response.setContentType("application/msexcel;charset=UTF-8"); workbook.write(out); //out.flush(); out.close(); }HSSFWorkbook workbook:这个参数,如果你是用的poi这个jar包做导出,你知道是要传什么对象的参数。HttpServletResponse response:那这个,你更知道,就是一个响应对象,用于响应客户端的请求。String filename:这个就是文件名,要它的目的是,在弹出下载框的时候就会看见文件类型、文件名。filename只要文件名不要它的路径。 【think in java】 项目部署问题!!!!!!!!!!!!!!!!!!!!!!! Hibernate 主子表关联查询问题 tomcat突然出现莫名其妙的错误 如何使用<jsp:include>引入struts? 如何struts标签把一个List装载到select中 菜鸟问个关于J2EE如何既用C/S又用B/S的问题(100分相送) 急!!!Struts中调用ActionForm的getxxx()方法的疑问 能帮初学者介绍几本书吗? 如做一个短信增值业务的程序员需要掌握哪些方面的知识啊? JAEE入门学习书籍 急急急!struts2标签用不了!一用就报错!
.getRealPath("/template")
+ "/"; File imageFile = new File(localPath + fileName);// 获取文件路径 // 读取excel表头信息
Workbook book = Workbook.getWorkbook(imageFile);
Sheet workSheet = book.getSheet(0);
String sheetName = "";
sheetName = fileName.substring(0,fileName.lastIndexOf("."));
int rows = workSheet.getRows();
int cols = workSheet.getColumns();
String param[] = new String[cols];
String rowParam[] = new String[rows]; // 创建excel文件
response.setContentType("application/ms-excel");
// 这里解释一下
// attachment; 这个代表要下载的,如果去掉就编程直接打开了
// filename是文件名,另存为或者下载时,为默认的文件名
response.addHeader("Content-Disposition", "attachment; filename="
+ new String(sheetName.getBytes("GBK"), "ISO-8859-1")
+ ".xls");
OutputStream os = response.getOutputStream();
WritableWorkbook wwb = Workbook.createWorkbook(os);
WritableSheet writeSheet = null;关键的地方 获取数据写excel的就不用发了吧
我大概是这么实现的 在目录下新建个文件夹excel 然后把你要导出的jsp页面复制一下在excel目录下 新的jsp文件里面需要加这段代码,当然进这个页面之前还是要进行后台查询的。具体看你用什么实现的了
java.text.SimpleDateFormat tempDate = new java.text.SimpleDateFormat(
"yyyyMMddHHmmss");
String time = tempDate.format(new Date());
String fileName = "订单信息_" + time + ".xls";
fileName = new String(fileName.getBytes("GBK"), "ISO8859_1");
response.setHeader("Content-Disposition", "attachment;filename="
+ fileName);response.setDateHeader("Expires", 0);
response.setHeader("Cache-Control", "no-cache");
response.setHeader("Pragma", "no-cache");
head中间加上这个 防止中文乱码
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
protected void downloadExcel(HSSFWorkbook workbook, HttpServletResponse response, String filename)throws IOException { OutputStream out = response.getOutputStream();
response.setHeader("Content-disposition", "attachment;filename=" + URLEncoder.encode(filename, "UTF-8"));
response.setContentType("application/msexcel;charset=UTF-8");
workbook.write(out);
//out.flush();
out.close();
}HSSFWorkbook workbook:这个参数,如果你是用的poi这个jar包做导出,你知道是要传什么对象的参数。
HttpServletResponse response:那这个,你更知道,就是一个响应对象,用于响应客户端的请求。
String filename:这个就是文件名,要它的目的是,在弹出下载框的时候就会看见文件类型、文件名。filename只要文件名不要它的路径。