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

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何用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?(使用POI)的主要内容,如果未能解决你的问题,请参考以下文章

如何用poi导出excel设置列宽

如何用JAVA语言实现报表导出

poi excel如何用java代码生成

poi 导出Excel

javapoi数据导出成excel如何才能指定文件输出路径 现在是知道E盘路径 怎么弄成弹框选择路径

如何用java完成Excel快速的导入导出