在实际的项目中,使用java实现excel的读取和导出数据是很常见的技术。本文简单实现java导出excel并下载的功能。其中,java导出excel使用的是Apache poi技术,使用之前需要在项目中引入相关的jar包。poi相关技术之前有过探讨,在此不再赘述。
关于下载的功能实现,一种是通过超链接指向文件路径的方式实现下载,使用这种方式常见于文件上传之后的下载实现。当然,本例使用上述方式也能实现,分为2步:第一步是将文件导出到服务器相关目录,详见之前poi文章中的相关实现,相当于缓存文件;第二步,是使用超链接指向文件的路径。上述实现较为简单,本文不再赘述,本文讨论的是使用servlet实现excel文件的导出下载功能。
具体思路:
1.response通过设置Header和ContentType可以实现Excel文件的下载,具体设置如下:
// 设置response的Header
response.addHeader("Content-Disposition", "attachment;filename="
+ new String(filename.getBytes(),"iso8859-1")+".xls");
response.setContentType("application/vnd.ms-excel;charset=utf-8");
2. 使用poi可以将需要导出的数据写入OutputStream,而OutputStream可以由esponse.getOutputStream()提供,相关代码如下:
//excel写入输