日期:2014-05-17  浏览次数:20686 次

jsp页面表格导出excel
我在jsp页面中有一个table显示列表数据,有一个按钮点击导出显示的数据,提示保存成一个excel文件,我在网站查了很多方法,一般是用javascript来做的,可是都会有这样那样的错误。。改了很久没搞定。请达人们提供的答案是要在java web工程中jsp页面里测试成功的哦。

------解决方案--------------------
我一般情况下,不愿给人代码。

给你个思路:
点击按钮时,提交到你的servlet中,在servlet中设置响应类型(此类型就是为了可以弹出那种excel形式的),然后通过响应对象获得输入流,读取数据,这数据你怎么获得随你的便了,重新查询也罢,从session中取出也罢。
读完后,用PrintWriter对象输出弹出框提示即可。
------解决方案--------------------
千万别用javascript导出Excel,用jxl.jar很简单的。下下来,里面有现成的例子
这是我用jsp导出Excel的关键代码:
<%@ page contentType="application/vnd.ms-excel;charset=gb2312" language="java" import="java.sql.*,java.util.*,java.util.text.*,java.io.*,jxl.*,jxl.write.*,jxl.format.*" errorPage="" %>
<%
response.setContentType("application/vnd.ms-excel");
out.clearBuffer(); // 如果使用JSP,需要加上这一句
response.addHeader("Content-Disposition", new String(("filename=我的Excel.xls").getBytes("GBK"), "ISO-8859-1")); 

OutputStream os = response.getOutputStream(); // 页面输出流,jsp/servlet都可以

jxl.write.WritableWorkbook wwb = Workbook.createWorkbook(os);
jxl.write.WritableSheet ws = wwb.createSheet("机电考核汇总表", 0);
往下就是添加label了

 //写入Exel工作表
wwb.write();
//关闭Excel工作薄对象
 wwb.close();
直接访问这个jsp页面就是一个Excel文件

------解决方案--------------------
用poi实现,我刚做了一个这样的项目,具体可加QQ 45466484聊,别忘送分呀,哈哈
------解决方案--------------------
<html> 
<head> 
<meta http-equiv="Content-Type" content="text/html; charset=gb2312"> 
<title>EB页面导出为EXCEL文档的方法</title> 
<script type="text/javascript"> 
<!-- download
function saveCode(obj) { 
var winname = window.open('', '_blank', 'top=10000'); 
var strHTML = document.all.tableExcel.innerHTML; 
winname.document.open('text/html', 'replace'); 
winname.document.writeln(strHTML); 
winname.document.execCommand('saveas','','excel.xls'); 
winname.close(); 

--> 
</script> 
</head> 

<body> 
<div id="tableExcel">
<table id="test" width="100%" border="1" cellspacing="0" cellpadding="0"> 
<tr> 
<td colspan="5" align="center">WEB页面导出为EXCEL文档的方法</td> 
</tr> 
<tr> 
<td>列标题1</td> 
<td>列标题2</td> 
<td>列标题3</td> 
<td>列标题4</td> 
<td>列标题5</td> 
</tr> 
<tr> 
<td>aaa</td> 
<td>bbb</td> 
<td>ccc</td> 
<td>ddd</td> 
<td>eee</td> 
</tr> 
<tr> 
<td>AAA</td> 
<td>BBB</td> 
<td>CCC</td> 
<td>DDD</td> 
<td>EEE</td> 
</tr> 
<tr> 
<td>FFF</td> 
<td>GGG</td> 
<td>HHH</td> 
<td>III</td> 
<td