使用excelutils导出excel非常简单,这里不做很多的介绍,直接贴出代码:
所需要的包有commons-beanutils-1.8.0.jar,commons-digester-1.8.jar,commons-logging-1.1.1.jar,excelutils.jar,poi-3.8-20120326.jar,主要有这五个jar包。
@Controller public class ExportTest { @RequestMapping("/exportTest") public void exportTest(HttpServletRequest request, HttpServletResponse response) throws ExcelException, FileNotFoundException { String path="/hello.xls"; File file = new File(path); FileOutputStream fop = new FileOutputStream(file); ExcelUtils.addValue("name","zhangqi"); ExcelUtils.addValue("age","13"); ExcelUtils.export(request.getSession().getServletContext(), "/WEB-INF/test1.xls", fop); } @RequestMapping("/exportTest2") public void exportTest2(HttpServletRequest request, HttpServletResponse response) throws Exception { ExcelUtils.addValue("name","zhangqi"); ExcelUtils.addValue("age","13"); response.reset(); response.setContentType("application/vnd.ms-excel"); response.setHeader("Content-Disposition", "attachment;filename=" + HttpUtils.convert(request, "中国人民大学附属中学班主任名册.xls")); ExcelUtils.export(request.getSession().getServletContext(), "/WEB-INF/test1.xls", response.getOutputStream()); } }以上的两个controller 分别是在本地导出excel和在浏览器上导出excel,方法都比较简单,最核心的就是excelutils.export方法。
name | age | |
${name} | ${age} | |
这是我定义的test1.xls,是不是很简单哈~~~~~~~~~~~~~~~~~~~~~~~
public static void main(String[] args) throws ExcelException, FileNotFoundException { String path="/hello2.xls"; File file = new File(path); FileOutputStream fop = new FileOutputStream(file); ExcelUtils.addValue("name","zhangqi"); ExcelUtils.addValue("age","13"); ExcelUtils.export( System.getProperty("user.dir") +"/test1.xls", fop); }
不用于web项目的写法,哈哈,我把test1.xls放在工程根目录下了。
同样我们也可以将文件放到文件服务器里面,将文件名和文件路径存放起来,然后调用
ZipDownloadUtils.downloadDir(request, response, filePaths, fileEntrys, null, zipName);可以将文件打包,打包后下载到浏览器上。这里的ZipDownloadUtils我就不粘出来了。
import org.apache.tools.zip.ZipEntry; import org.apache.tools.zip.ZipOutputStream;