社区
Web 开发
帖子详情
怎么把JSP页面上的TABLE输出到EXCEL表中?
zh_mi
2006-03-20 04:36:50
如题,方法越简单越好
...全文
349
15
打赏
收藏
怎么把JSP页面上的TABLE输出到EXCEL表中?
如题,方法越简单越好
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
15 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
ni966445
2006-06-18
打赏
举报
回复
受益匪浅
mysohu
2006-03-22
打赏
举报
回复
简单的话就是这个方法
response.setHeader("Content-disposition","inline; filename=result.xls" );
datalover
2006-03-22
打赏
举报
回复
MARK
wuyg719
2006-03-21
打赏
举报
回复
response.setContentType("application/vnd.ms-excel");
out.println("aaa;bbb;ccc");
xiangbo520
2006-03-21
打赏
举报
回复
建议使用APACHE的POI
fengzheng12345
2006-03-21
打赏
举报
回复
只要加上这个就行
<%@ page contentType="Application/msexcel; charset=gb2312" %>
<%
response.setHeader("Content-disposition","inline; filename=result.xls" );
%>
crazy_he
2006-03-21
打赏
举报
回复
前提是客户端安装了Excel,否则一切都免谈。除非用wmzsl(王明哲)的方法
crazy_he
2006-03-21
打赏
举报
回复
<%
response.setContentType("APPLICATION/OCTET-STREAM");
response.setHeader("Content-Disposition", "attachment; filename="+ (new SimpleDateFormat("yyyyMMddHHmmss")).format(new java.util.Date()) +".xls ");
%>
<html xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:x="urn:schemas-microsoft-com:office:excel" xmlns="http://www.w3.org/TR/REC-html40">
wmzsl
2006-03-21
打赏
举报
回复
首先去http://www.andykhan.com/jexcelapi/index.html下载最新的JExcelApi,把jxl.jar置于你的classpath中。
写一个javaBean,利用JExcelApi来动态生成excel文档,我这里写一个最简单的,示意性的。复杂的你可能还要查询数据库什么的。
///////////////////////////Test.java///////////////////////////////////////////
package com.jagie.test;
import java.io.*;
import jxl.*;
import jxl.write.*;
import jxl.format.*;
import java.util.*;
import java.awt.Color;
public class Test{
public static void writeExcel(OutputStream os) throws Exception {
jxl.write.WritableWorkbook wwb = Workbook.createWorkbook(os);
jxl.write.WritableSheet ws = wwb.createSheet("TestSheet1", 0);
jxl.write.Label labelC = new jxl.write.Label(0, 0, "我爱中国");
ws.addCell(labelC);
jxl.write.WritableFont wfc = new jxl.write.WritableFont(WritableFont.ARIAL,20, WritableFont.BOLD, false,
UnderlineStyle.NO_UNDERLINE, jxl.format.Colour.GREEN);
jxl.write.WritableCellFormat wcfFC = new jxl.write.WritableCellFormat(wfc);
wcfFC.setBackground(jxl.format.Colour.RED);
labelC = new jxl.write.Label(6, 0, "中国爱我",wcfFC);
ws.addCell(labelC);
//写入Exel工作表
wwb.write();
//关闭Excel工作薄对象
wwb.close();
}
//最好写一个这样的main方法来测试一下你的这个class是否写好了。
public static void main(String[] args)throws Exception{
File f=new File("kk.xls");
f.createNewFile();
writeExcel(new FileOutputStream(f));
}
}
写一个jsp,来利用Test这个javabean输出excel文档。
///////////////////////////test_excel.jsp//////////////////////////
<%@page import="com.jagie.test.Test" %>
<%
response.reset();
response.setContentType("application/vnd.ms-excel");
Test.writeExcel(response.getOutputStream());
%>
这样就大功告成了,你用ie访问test_excel.jsp就能在ie里面打开动态生成的excel文档了。一点乱码也没有。
也许有人会问:response.reset();可不可以不要这一句,我的建议是一定要写,除非你能保证response的buffer里面没有别的东西。
还有人也许会问:我在jsp开头加上<%@page contentType="application/vnd.ms-excel;charset=GBK" %>这一句,去掉response.setContentType("application/vnd.ms-excel");行不行?回答这个问题很简单,就是查看jsp服务器编译jsp后生成的java代码,如果改成这样,我的welogic7编译test_excel.jsp后生成的java文件的示意性代码是这样的:
public void _jspService(javax.servlet.http.HttpServletRequest request,
javax.servlet.http.HttpServletResponse response) throws java.io.IOException,
javax.servlet.ServletException {
// declare and set well-known variables:
javax.servlet.ServletConfig config = getServletConfig();
javax.servlet.ServletContext application = config.getServletContext();
javax.servlet.jsp.tagext.Tag _activeTag = null;
// variables for Tag extension protocol
Object page = this;
javax.servlet.jsp.JspWriter out;
javax.servlet.jsp.PageContext pageContext =
javax.servlet.jsp.JspFactory.getDefaultFactory().getPageContext(this,
request, response, null, true, 8192, true);
response.setHeader("Content-Type", "application/vnd.ms-excel; charset=GBK");
out = pageContext.getOut();
JspWriter _originalOut = out;
javax.servlet.http.HttpSession session = request.getSession(true);
try { // error page try block
response.setContentType("application/vnd.ms-excel;charset=GBK");
out.print("\r\n\r\n\r\n\r\n");
out.print("\r\n");
//[ /test_excel.jsp; Line: 6]
response.reset(); //[ /test_excel.jsp; Line: 7]
//response.setContentType("application/vnd.ms-excel");
//[ /test_excel.jsp; Line: 8]
Test.writeExcel(response.getOutputStream()); //[ /test_excel.jsp; Line: 9]
} catch (Throwable __ee) {
while (out != null && out != _originalOut) out = pageContext.popBody();
((weblogic.servlet.jsp.PageContextImpl)pageContext).handlePageException((Throwable)__ee);
}
//before final close brace...
}
很明显,屏蔽response.setContentType("application/vnd.ms-excel");后,在Test.writeExcel(response.getOutputStream());之前,response.reset(); 之后没有设置response contenttype的正确类型,当然输出为乱码了。而正确输出excel的jsp的?/span>
grapepaul
2006-03-21
打赏
举报
回复
up
mgan
2006-03-21
打赏
举报
回复
楼上正解。。。
rj058005
2006-03-21
打赏
举报
回复
up up
lzmhehe
2006-03-21
打赏
举报
回复
mark
sugar900
2006-03-20
打赏
举报
回复
简单的话,如上就行
ibiswang
2006-03-20
打赏
举报
回复
response.setContentType("application/vnd.ms-excel");
out.println("<table><tr><td>....</td>....</tr></table>");
即可.
jsp页面
生成word或
excel
六、 怎么把
JSP页面
上的
TABLE
输出
到
EXCEL
表中
? 16 简单实现如下: 16 属性设置为attachment文件名带日期格式:浏览器下载 16 jsp文件 16 jsp设置属性为inline,浏览器打开操作 16 七、 利用J
Excel
Api来动态生成
excel
...
JavaScript完全自学宝典 源代码
\testJson\WebRoot\orderInfo.jsp 录入商品信息的
JSP页面
。 第21章(\c21) 示例描述:介绍Prototype框架。 21.1.html 使用Prototype的$()方法获取指定元素。 21.2.html 使用Prototype的$A()方法获取...
java8生成
jsp页面
内容组装到jsp中_将
jsp页面
数据表格
输出
到
excel
表格-把
jsp页面
的
table
表中
的数据导出成
excel
表...
如何将
excel
中数据导出到
jsp页面
//////
Excel
数据导出///ds代表按SQL条件查出数据的集合///public void Create
Excel
(DataSet ds, string FileName){HttpResponse resp;resp = Page.Response;resp.ContentEncoding =...
如何将
jsp页面
的
table
报表转换到
excel
报表导出
我们会添加一个“导出到
excel
”的超链接,它会把页面内容导出到
excel
文件中。那么这个页面会变成这个样子 在此,强调一下搜索时关键词的重要性,这样一下子可以定位到文章,否则处于盲人摸象,毫无目的尴尬境地。...
如何把
JSP页面
导出到
Excel
中?
在此,强调一下搜索时关键词的重要性,这样一下子可以定位到文章,否则处于盲人摸象...本篇教程我们会看到如何把
JSP页面
导出到
Excel
中,会在已有的
JSP页面
中增加导出
excel
的功能。 许多时候对于用户来说,可以在e
Web 开发
81,092
社区成员
341,716
社区内容
发帖
与我相关
我的任务
Web 开发
Java Web 开发
复制链接
扫一扫
分享
社区描述
Java Web 开发
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章