最近的项目中遇到了一个将数据库的信息导入到一个 Excel 文件的需求,而且还要提供下载该 Excel 文件的接口 ,搞定之后,进行了一下总结,希望给大家带来帮助,看下面的demo源码
依赖
我们需要用到 jxl 包的类,而 jxl.jar 正是操作 excel 表格的工具类库,除了 jxl 以外,poi 包也是一个 操作 excel 的类库。
而对比两个包,jxl 更适用与数据量大的情况,而 poi 在数据量不高(大约5000以内)时,效率较高,但占用内存大,更容易内存溢出。
测试数据
将数据全部导入到一张表格
将数据导入到多个表格
提供文件下载接口
该方法利用文件流来写入文件,方法类型为 void,不需要 return,除此之外,接口参数中需要添加上 HttpServletResponse
然后,我们直接在地址栏输入localhost:8080/getExcel既可立刻下载你的文件
注意: String fileName = new String("人员信息.xlsx".getBytes(), "ISO-8859-1"); 我使用了 ISO-8859-1 编码,原因是 ISO-8859-1编码是单字节编码,向下兼容 ASCII,而 Header 中只支持 ASCII,传输的文件名必须是 ASCII
项目地址:https://github.com/foryxs/Excel-Download
喜欢的小伙伴,点个关注吧,每天分享新的内容!