...
1、根据以上分析,我们需要编写filter,执行了"导出CSV"后,截取CSV内容,并转为excel。
2、可是执行"导出CSV"后,文件写在了response的输出流里了。我们是没办法直接通过response获取到输出流的(response输出流对象没有Buffer功能,且只能读取一次)。
3、为了解决这个问题,我们可以新建response的包装器(继承HttpServletResponseWrapper类)。即示例的CustomizedResponseWrapper为了解决这个问题,我们可以新建response的包装器(继承HttpServletResponseWrapper类)。保存输出流的buffer,这样我们就可以读取了。即示例的CustomizedResponseWrapper.javajava、
4、以上123步骤的分析,已经解决了本问题的实现难题了,剩下的就是一些细节的东西,如:excel单元格式设置,表头表尾设置,前端代码修改等等。
...