您的位置:首页 > 编程语言 > Java开发

javaweb导出excel

2016-06-16 11:01 459 查看
jsp页面:

<form id="dataForm" action="exportCost/expTable.htm" method="post" style="display:none">
<input id="startDate_h" name="startDate_h" type="text"  />  <!-- 传数据  -->
<input id="endDate_h" name="endDate_h" type="text" />
<input id="dissort_h" name="dissort_h" type="text"/>
</form>


<button id="export_excel">导出excel</button>


js代码:

$('#export_excel').click(function(){
$("#dataForm")[0].submit();
});


java后台处理代码:

@RequestMapping(value = "/expToExcel", method = RequestMethod.POST)
public void expToExcel(HttpServletRequest request, HttpServletResponse response)throws Exception {
PrintWriter pw=response.getWriter();
try{
response.setContentType("application/x-msdownload;charset=gbk");
response.setCharacterEncoding("UTF-8");
String fileName =  "" + ".xls";
String fileNameTemp = URLEncoder.encode(fileName, "UTF-8");
response.setHeader("Content-Disposition", "attachment; filename="
+ new String(fileNameTemp.getBytes("utf-8"), "gbk"));
OutputStream os = response.getOutputStream();
//ExcelUtils eu = new ExcelUtils();
//eu.export(os, "",  legends ,colLength, DbUtils.ListMapToListObject(result),0,0);
os.flush();
os.close();
}catch(Exception e){
e.printStackTrace();
pw.print("fail");
}
}


上面的关键代码是:

OutputStream os = response.getOutputStream();
response.setContentType("application/x-msdownload;charset=gbk");
response.setCharacterEncoding("UTF-8");
response.setHeader("Content-Disposition", "attachment; filename="+ "");
os.flush();
os.close();


对response对象进行设置,然后获取到OutputStream 对象,对这个对象 进行操作,然后就可以导出了。
这里我们用的是jxl导出excel。


<dependency>
<groupId>net.sourceforge.jexcelapi</groupId>
<artifactId>jxl</artifactId>
<version>2.6.12</version>
</dependency>


参考文章:http://www.cnblogs.com/forlina/archive/2011/06/15/2081153.html
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: