页面树结构
转至元数据结尾
转至元数据起始

1.需求背景

客户在Smartbi的电子表格报表上的某一个参数上输入多个值,希望可以做到按照该参数值批量下载pdf文件和批量打印文件。

2.功能说明

电子表格可以按照参数值的多选,进行批量下载pdf文件和批量打印文件。

批量下载:按照该参数值(有多参数值),分别导出一份一份pdf文件和一个合并的pdf文件,然后将这些文件打成压缩包下载到本地。(例如:该参数有10个值,则导出10个pdf文件和一个合并这10个文件的合并文件,然后把这11个文件打成压缩包下载)

批量打印:按照该参数值(有多参数值),分别导出多分对应参数值的内容然后并成一个汇总的pdf文件,然后打印该汇总的pdf文件。(例如:该参数有10个值,则导出10份数据,然后将这10份数据合并一个pdf文件,最后打印该合并pdf文件的内容)

注意:

1)批量下载 只支持 pdf格式的文件。合并的pdf文件,每一份数据之间,开头都要以新的页面开头。例如:第一份数据有1.5页,接上第二份数据的时候,从pdf的第3页开始,而不是接着第2页的中间开始

2)批量下载 和 批量打印 功能,不支持多sheet的电子表格。

3)批量下载 和 批量打印 功能,不支持报表的宽度超过纸张页面的表格。(PS:若是报表很宽,导出pdf的时候,超出宽度的部分会自动挤到下一页,最后的效果会很差,所以客户使用时要自行避免)

4)枚举的参数只支持 多选下拉 或 列表对话框 或 下拉树 等有备选值的参数类型(PS:建议枚举的参数的枚举值不超过20个,参数越多,导出所消耗的服务器资源就越大,导出的时间越慢)


3.使用说明

3.1. 扩展包部署

扩展包:PD_PDFMergeExport

部署说明:扩展包部署

注意:更新扩展包之前,请做好知识库以及扩展包的备份。


3.2. 使用操作

(1)宏代码

前提:需要在对应的电子表格中,添加宏

模块:客户端模块

对象:spreadsheetReport

事件:onRenderReport(打开报表后)


宏代码说明:

只需要配置6-8行内容,其他不需要修改;

spreadsheetReport.ext_mutilParam:需要枚举的参数的名称;

mutilExportLabel:批量下载的按钮显示名称;

mutilPrintLabel:批量打印的按钮显示名称;


(2)枚举参数

当枚举参数没选择任何备选值时,会默认获取该参数的所有备选值枚举导出对应的pdf文件,如果枚举的参数有勾选对应的值,则按勾选的参数值进行枚举合并导出,打印功能的参数逻辑相同;


(3)导出效果

枚举参数导出,把每个pdf文件再合并成一个文件,再把每个参数的文件以及合并的文件打包成压缩包进行下载;

 

(4)打印效果

枚举参数导出,把每个文件合并成一个文件打印;