java中如何实现网页以Excel的形式下载的功能?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java中如何实现网页以Excel的形式下载的功能?相关的知识,希望对你有一定的参考价值。

参考技术A 两种方式:1)将你的网页报表用poi或jxl,转化为excel格式,然后通过servlet的流输出 2)使用现有的报表工具实现,我用finereport,其他的你也可以去Google搜下。 参考技术B 在jsp开头加上<%@page contentType="application/vnd.ms-excel;charset=GBK" %>本回答被提问者和网友采纳

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

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

这该如何实现?

导出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。

参考技术A response.setContentType("bin");
response.setHeader("Content-disposition","attachment;filename=test.xls");
你在servlet里面设置响应头为这样,然后就能够实现下载了,然后使用输出流进行输出下载
.....还有问题的话就问..
你要是想全部代码都写的话..加我扣扣 1195391953..本回答被提问者采纳
参考技术B // 创建临时文件(excel为Workbook对象)
response.reset();
response.setContentType("application/download");
response.setHeader("Content-Disposition",
"attachment;filename=" + excel.getFileName());
excel.getExcel().write(response.getOutputStream());
response.flushBuffer();
参考技术C 用JAVA导出Excel有全部代码吗? 能发一份736119924@qq.com 谢谢

以上是关于java中如何实现网页以Excel的形式下载的功能?的主要内容,如果未能解决你的问题,请参考以下文章

之十一

java 模拟登陆带验证码的网页,就想知道怎么将验证码以图片的形式下载到本地。。。。。

接了个变态需求:生成 Excel + PDF 导出,用 Java 怎么实现?

java用jxl读取网页上下载的excel文件,怎么识别?求解答

如何把服务器端生成的一个excel以链接的方式给客户端.

Java中如何读取excel文件内容并且将内容以表格的形式显示在窗体里?