背景:
在smartbi中,透视分析导出的EXCEL是单元格合并的。
需求:
(1)使透视分析导出excel增加类型:清单表。可以以清单列表的方式导出。如下图。
(2)使导出的excel列宽自适应。不导出参数信息。
(3)修改透视分析默认导出设置:使导出内容默认为清单表,数值导出类型默认为显示值。
-----图-----
分析需求:
根据需求描述,产品导出csv与该需求的相似度最高。可是csv要在excel中手动设置才能列宽自适应,也没有表头表尾。客户坚持需要定制。
产品相关了解:
透视分析导出servlet路径:/Insight/src/java/smartbi/insight/export/InsightExportServlet.java
导出逻辑:一个完整的导出过程,会进入这个servlet两次,第一次写好文件放到session中,第二次从session中取文件,写到输出流中。
简要思路:
1、第一次进入InsightExportServlet,我们先执行InsightExportServlet的导出CSV,然后获取执行导出后的CSV内容。
2、将文件流内容转为excel,通过 poi可以使excel列宽自适应。
3、将excel放到session中,继续执行第二次的InsightExportServlet。
实现思路分析:
代码说明:
/YdthLife/src/web/META-INF/extension.xml
增加"清单表"选项:/YdthLife/src/web/vision/template/freequery/query/ExportTxtDialog.template
/YdthLife/src/web/vision/js/smartbi/insight/Insight.js.patch
导出默认"显示值""清单表":/YdthLife/src/web/vision/js/freequery/query/ExportExcelDialog.js.patch