在JSP页面中生成文件后,如何让客户端弹出下载文件对话框 转到一个新的页,在这一页把content="text/csv"或者content="text/txt"总之不是text/html而是文件形式就会出现下载了 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 response.setContentType("application/vnd.ms-excel");//定义输出类型 我在代码下面写了:response.setContentType("application/vnd.ms-excel; charset=gb2312");response.setHeader("Content-disposition", "attachment; filename=output.xls");执行页面时,对话框是弹出来了,但打开文件是空的? jxl.Workbook rw = jxl.Workbook.getWorkbook(new File("e:\\Book.xls"));jxl.write.WritableWorkbook wwb = Workbook.createWorkbook(response.getOutputStream(), rw); 我按lndlmy的方法试了,文件内容还是空的,而且new File("c:\\book.xls")语句并没在C盘生成文件,原代码如下:<%@ page import = "java.io.*" %><%@ page import = "jxl.*" %><%@ page import = "jxl.write.*" %><%try{ jxl.Workbook rw = jxl.Workbook.getWorkbook(new File("c:\\book.xls")); jxl.write.WritableWorkbook wwb = Workbook.createWorkbook(response.getOutputStream(), rw); jxl.write.WritableSheet ws = wwb.createSheet("Sheet1", 0); jxl.write.Label labelC = new jxl.write.Label(0, 0, "This is a Label cell"); ws.addCell(labelC); jxl.write.Number labelN = new jxl.write.Number(0, 1, 3.1415926); ws.addCell(labelN); wwb.write(); wwb.close();}catch (Exception e){ e.printStackTrace();}response.setContentType("application/vnd.ms-excel; charset=gb2312");response.setHeader("Content-disposition", "attachment; filename=output.xls");%> 我说的方法要有c:\\book.xls这个文件的前提下如果你想生成一个新的 //创建可写入的Excel工作薄,运行生成的文件在tomcat/bin下//workbook = Workbook.createWorkbook(new File("output.xls")); System.out.println("begin");OutputStream os=new FileOutputStream(targetfile); workbook=Workbook.createWorkbook(os); WritableSheet sheet = workbook.createSheet(worksheet, 0); //添加第一个工作表//WritableSheet sheet1 = workbook.createSheet("MySheet1", 1); //可添加第二个工作/*jxl.write.Label label = new jxl.write.Label(0, 2, "A label record"); //put a label in cell A3, Label(column,row)sheet.addCell(label); */jxl.write.Label label;for (int i=0; i<title.length; i++){//Label(列号,行号 ,内容 )label = new jxl.write.Label(i, 0, title[i]); //put the title in row1 sheet.addCell(label); } 我的目的是想在JSP页面中将数据存放成Excel格式,当客户端执行页面时可以弹出文件下载对话框,用户将文件保存在自己的计算机里。如果有可以直接运行的JSP程序文件,请发到[email protected],谢谢! response.setContentType("application/vnd.ms-excel; charset=gb2312");response.setHeader("Content-disposition", "attachment; filename=output.xls");这两句写在开头 To: maybeiamtooold那两句写在开头试了,也不行 sql语句返回为0,问题在哪里? 程序出错!不知道错在哪~ 找不到命名空间库该怎么办??? MVC大虾米请进:如何将三人联系表查询到的所有数据都分页显示出来? EL语言如何获得一个集合的个数? 关于重新绘制图片的问题。抛分 很头疼的问题,我把tomcat嵌入iis之后,筛选器已经变绿了,可是... jsp可视化开发工具? 做出口软件的人看过来 HTTP Status 500 - null applet访问数据库的问题,请教~~~ 又是NullPointerException错误,是关于ResultSet的
response.setContentType("application/vnd.ms-excel; charset=gb2312");
response.setHeader("Content-disposition", "attachment; filename=output.xls");
执行页面时,对话框是弹出来了,但打开文件是空的?
jxl.write.WritableWorkbook wwb = Workbook.createWorkbook(response.getOutputStream(), rw);
<%@ page import = "jxl.*" %>
<%@ page import = "jxl.write.*" %><%
try
{
jxl.Workbook rw = jxl.Workbook.getWorkbook(new File("c:\\book.xls"));
jxl.write.WritableWorkbook wwb = Workbook.createWorkbook(response.getOutputStream(), rw); jxl.write.WritableSheet ws = wwb.createSheet("Sheet1", 0);
jxl.write.Label labelC = new jxl.write.Label(0, 0, "This is a Label cell");
ws.addCell(labelC);
jxl.write.Number labelN = new jxl.write.Number(0, 1, 3.1415926);
ws.addCell(labelN);
wwb.write();
wwb.close();}
catch (Exception e)
{
e.printStackTrace();
}response.setContentType("application/vnd.ms-excel; charset=gb2312");
response.setHeader("Content-disposition", "attachment; filename=output.xls");%>
//workbook = Workbook.createWorkbook(new File("output.xls"));
System.out.println("begin");OutputStream os=new FileOutputStream(targetfile);
workbook=Workbook.createWorkbook(os); WritableSheet sheet = workbook.createSheet(worksheet, 0); //添加第一个工作表
//WritableSheet sheet1 = workbook.createSheet("MySheet1", 1); //可添加第二个工作
/*
jxl.write.Label label = new jxl.write.Label(0, 2, "A label record"); //put a label in cell A3, Label(column,row)
sheet.addCell(label);
*/jxl.write.Label label;
for (int i=0; i<title.length; i++)
{
//Label(列号,行号 ,内容 )
label = new jxl.write.Label(i, 0, title[i]); //put the title in row1
sheet.addCell(label);
}
如果有可以直接运行的JSP程序文件,请发到[email protected],谢谢!
response.setHeader("Content-disposition", "attachment; filename=output.xls");这两句写在开头
那两句写在开头试了,也不行