当前位置:编程学习 > JAVA >>

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

现在想实现一个功能:index.jsp,从数据库查询出学生列表,显示在页面的table中,包括姓名、性别、年龄等列。 现在页面有一个按钮“下载”,点击后想下载成Excel格式。 注:并不是直接保存在本地的某个磁盘内,而是弹出来一个对话框: 这该如何实现?
追问:哥们,我已经说的很明白了,用POI。
答案:response.setContentType("bin");
response.setHeader("Content-disposition","attachment;filename=test.xls");
你在servlet里面设置响应头为这样,然后就能够实现下载了,然后使用输出流进行输出下载
.....还有问题的话就问.. 
你要是想全部代码都写的话..加我扣扣 1195391953..
其他:// 创建临时文件(excel为Workbook对象)
        response.reset();
        response.setContentType("application/download");
        response.setHeader("Content-Disposition",
                "attachment;filename=" + excel.getFileName());
        excel.getExcel().write(response.getOutputStream());
        response.flushBuffer(); 导出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>

以上的代码可以直接复制使用,如果有什么看不明白的,可以继续问我

上一个:我想学java,能给我一些入门书籍吗,还有我该使用什么软件学习···
下一个:Java定义一个学生类,包括学生基本信息,所学课程及成绩,用一个函数输出不及格学科名称和成绩

CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,