最近项目中需要用到数据的导出, 于是乎就做几个,其实说白了还是利用apache的poi,在项目中直接导入poi包就可以。多的就不用说了,我直接上代码。
1、首先准备一些poi的jar包,如下图:
2、在项目工程都创建一张Excel表,存放某个目录下。图图如下:
3、在JSP页面添加一个导出Excel按钮。如下:
4、Java后台Controller导出方法我就不过多解释,我直接 如下:
/**
* 导出Excel功能
* @return
*/
@RequestMapping(value = "queryAuditGroupExcelList.htm")
public void queryAuditGroupExcelList(HttpServletRequest request,HttpServletResponse response,
HttpServletResponse reponse, ModelMap model, Integer groupId) {
Integer bizId = WebUtils.getCurBizId(request);
//获取信息1
Map map= financeService.queryAuditViewInfo(groupId, bizId);
Map groupMap = (Map) map.get("group");//获取到团信息
//获取信息2
Map pm = WebUtils.getQueryParamters(request);
List
//下载方法
private void download(String path, String fileName, HttpServletRequest request, HttpServletResponse response) {
try {
// path是指欲下载的文件的路径。
File file = new File(path);
// 以流的形式下载文件。
InputStream fis = new BufferedInputStream(new FileInputStream(path));
byte[] buffer = new byte[fis.available()];
fis.read(buffer);
fis.close();
// 清空response
response.reset();
// 设置response的Header
response.addHeader("Content-Length", "" + file.length());
response.addHeader("Content-Disposition", "attachment;filename=" + fileName);
OutputStream toClient = new BufferedOutputStream(response.getOutputStream());
response.setContentType("application/vnd.ms-excel;charset=gb2312");
toClient.write(buffer);
toClient.flush();
toClient.close();
file.delete();
} catch (IOException ex) {
ex.printStackTrace();
}
}
5、点击按钮【导出Excel】按钮,效果如下:
Excel导出结果如图所示:
到此,功能就算完了。希望有所启发吧。