如何用JAVA导出Excel?(使用POI)

现在想实现一个功能:index.jsp,从数据库查询出学生列表,显示在页面的table中,包括姓名、性别、年龄等列。现在页面有一个按钮“下载”,点击后想下载成Excel格... 现在想实现一个功能:index.jsp,从数据库查询出学生列表,显示在页面的table中,包括姓名、性别、年龄等列。
现在页面有一个按钮“下载”,点击后想下载成Excel格式。
注:并不是直接保存在本地的某个磁盘内,而是弹出来一个对话框:

这该如何实现?
展开
 我来答
shaoxu9012
2011-05-16
知道答主
回答量:38
采纳率:0%
帮助的人:22.4万
展开全部
导出Excle有3种方法,
第一是使用POI组件操作Excle
第二是使用JXL组件操作Excle
第三是最简单的,静态生成Excle
推荐第3中。不用话时间去学习
下面是静态生成Excle具体实现:
在你 index.jsp中写脚本函数:

<script type="text/javascript">
function saveToExcel(tableId,fileName){
var table = document.getElementById(tableId);
ToExcel.tableContent.value = table.outerHTML;
if(fileName==null){fileName = "export";}
ToExcel.fileName.value = fileName;
ToExcel.submit();
}
</script>
写一个form
<form name="ToExcel" id="ToExcel" method="post" action="createExcel.jsp" target="_blank">
<input type="hidden" name="tableContent" value="" readonly/>
<input type="hidden" name="fileName" value="" readonly/>
</form>
写一个链接
<a href="javascript:saveToExcel('ec_table','equipment.xls')">导出数据</a>
再创建一个jsp页面createExcel.jsp
以下是页面内容
<%@ page language="java" contentType="text/html;charset=UTF-8"%>
<%!
private String encode(String str){
String nStr = "";
try{
nStr = new String(str.getBytes("ISO-8859-1"),"UTF-8");
}catch(Exception e){
}
return nStr;
}
%>

<%
request.setCharacterEncoding("UTF-8");
response.setContentType("application/vnd.ms-excel; charset=UTF-8");
String path=request.getContextPath();
String tableContent = request.getParameter("tableContent");
String fileName = encode(request.getParameter("fileName"));
response.setHeader("Content-disposition", "inline; filename=" +fileName);
%>

<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<link href="<%=path%>/css/pingtai.css" rel="stylesheet" type="text/css" />
</head>
<body>
<%out.print(tableContent);%>
</body>
</html>

以上的代码可以直接复制使用,如果有什么看不明白的,可以继续问我
追问
哥们,我已经说的很明白了,用POI。
来自学府园好奇的桔梗
2011-05-16 · TA获得超过1300个赞
知道小有建树答主
回答量:892
采纳率:0%
帮助的人:742万
展开全部
response.setContentType("bin");
response.setHeader("Content-disposition","attachment;filename=test.xls");
你在servlet里面设置响应头为这样,然后就能够实现下载了,然后使用输出流进行输出下载
.....还有问题的话就问..
你要是想全部代码都写的话..加我扣扣 1195391953..
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
simpledong
2011-05-16 · 超过27用户采纳过TA的回答
知道答主
回答量:69
采纳率:0%
帮助的人:0
展开全部
// 创建临时文件(excel为Workbook对象)
response.reset();
response.setContentType("application/download");
response.setHeader("Content-Disposition",
"attachment;filename=" + excel.getFileName());
excel.getExcel().write(response.getOutputStream());
response.flushBuffer();
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
sunsyx13
2013-02-21 · TA获得超过181个赞
知道答主
回答量:111
采纳率:0%
帮助的人:76.2万
展开全部
用JAVA导出Excel有全部代码吗? 能发一份736119924@qq.com 谢谢
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式