当前位置: 首页> 健康> 母婴 > 庆阳网站设计 贝壳下拉_经典网页设计欣赏_百度百科优化排名_百度商家入驻

庆阳网站设计 贝壳下拉_经典网页设计欣赏_百度百科优化排名_百度商家入驻

时间:2025/8/24 7:46:49来源:https://blog.csdn.net/m0_63164811/article/details/143158863 浏览次数:0次
庆阳网站设计 贝壳下拉_经典网页设计欣赏_百度百科优化排名_百度商家入驻

Springboot 导出Excel文件方式对比与注意事项

  • Excel导出系列目录:
  • 为什么不导出.xls后缀的文件?
    • EasyExcel导出xls后缀文件
    • POI导出xls后缀文件
  • POI导出与EasyExcel导出相比哪种方式最优呢?
  • POI导出与EasyExcel导出两种方式有没有需要注意的坑呢?
    • 服务过滤器踩坑
    • XSSFClientAnchor参数配置踩坑
    • HSSFClientAnchor参数配置踩坑

Excel导出系列目录:

【Springboot 使用EasyExcel导出Excel文件】
【Springboot 使用POI导出Excel文件】
【Springboot 导出Excel文件方式对比与注意事项】

前两篇中,我们使用EasyExcel、POI两种常用的方式实现Excel的导出功能,并且最后我留了三个问题,这次讲解一下:

  1. 为什么不导出.xls后缀的文件?
  2. POI导出与EasyExcel导出相比哪种方式最优呢?
  3. POI导出与EasyExcel导出两种方式有没有需要注意的坑呢?

为什么不导出.xls后缀的文件?

这个一般没有强制,不管是在工作中,一般不会强制让你生成的Excel文件后缀。如果需要导出.xls后缀的文件,那就见以下代码,修改一下。

EasyExcel导出xls后缀文件

以【Springboot 使用EasyExcel导出Excel文件】文章为例

将导出的文件名修改为.xls后缀即可。

POI导出xls后缀文件

以【Springboot 使用POI导出Excel文件】文章为例

  1. 将导出的文件名修改为.xls后缀
  2. XSSF前缀的类,修改为HSSF前缀。
  3. 插入图片使用的XSSFDrawing类,修改为HSSFPatriarch
  4. 插入图片时使用的XSSFClientAnchorHSSFClientAnchor中的参数有极大的区别,需要特殊注意,具体见下文描述。

POI导出与EasyExcel导出相比哪种方式最优呢?

情况代码实现扩展性
EasyExcel简单易扩展
POI复杂不易扩展

我感觉如果导出的全是文字或者对导出内容样式没有极高的要求,可以优先选EasyExcel导出,否则,选择POI导出

POI导出与EasyExcel导出两种方式有没有需要注意的坑呢?

  1. 因为服务中的前置过滤器处理,导致响应的二进制流下载后无法正常打开文件
  2. 上文中,POI导出时插入图片使用的XSSFClientAnchorHSSFClientAnchor类一定要注意他们的参数差异

服务过滤器踩坑

为了能在调用服务接口的时候打印出响应体内容,大家一般会继承HttpServletRequestWrapper类,将响应内容取出并打印,但是这个会对响应内容做处理并输出,如果是返回二进制流数据,就会出现问题,我当前的处理方式是如果请求url属于导出接口,那就不使用继承HttpServletRequestWrapper的类接收响应

XSSFClientAnchor参数配置踩坑

用于在xlsx后缀文件中插入图片并可以在单元格中定位图片位置。
如果想实现文章中的图片所在单元格有内边距效果,代码如下:

// row=行号(从0开始),col=列号(从0开始)
XSSFClientAnchor anchor = new XSSFClientAnchor(100000, 100000, -100000, -100000, (short) col, row, (short) col + 1, row + 1);

HSSFClientAnchor参数配置踩坑

用于在xls后缀文件中插入图片并可以在单元格中定位图片位置。
如果想实现文章中的图片所在单元格有内边距效果,代码如下:

// row=行号(从0开始),col=列号(从0开始)
HSSFClientAnchor anchor = new HSSFClientAnchor(100, 25, 900, 240, (short) col, row, (short) col, row);
关键字:庆阳网站设计 贝壳下拉_经典网页设计欣赏_百度百科优化排名_百度商家入驻

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

责任编辑: