帆软-查询多个sheet导出到一个excel里进阶

基础的看这里https://blog.csdn.net/m0_66437880/article/details/141821299?spm=1001.2014.3001.5501

当我们批量导出的时候,如果只想导出部分sheet,比方说,我这里的sheet2方案说明和sheet3数据字典,仅仅用于查看,并不想导出,怎么办呢?

方法一:静态导出,指定导出页面

url里增加&sheets=[0,1,2]的参数,指定导出的页面。像我这里查询时有三个部门,正常导出为(0,1,2,3,4,5,6,7,8),其中1,4,7是计件工资方案,2,5,8是数据字典,这俩我都不要,那么sheets=[0,3,6]

方法二:动态导出,根据查询的数量来自动计算要导出页面

var url = 'http://你们自己的网址/webroot/decision/view/report?reportlets='; // 定义url
var pars = '&format=excel'; // 设置导出格式
var path = "${reportName}"; // 获取模板名称和路径

// 获取模板中参数值,以数组形式存储,每个参数值对应一个sheet.这里的计件团体名称是我的查询参数
var json = [];
var sheetsIndexes = [0]; // 用于存储所有sheets的索引,初始包含0
for (var i = 0; i < 计件团体名称.length; i++) { 
    var sheet = {
        reportlet: path,
        计件团体名称: 计件团体名称[i],
        date: date
    };
    json.push(sheet);
    // 每个sheet的索引是当前索引乘以3加上0
    sheetsIndexes.push((i * 3).toString());
}

// 构建sheets参数
var sheetsParam = '&sheets=' + sheetsIndexes.join(',') + '&__filename__="导出后的文件名"';

// 对json进行encodeURIComponent编码
var jsonStr = encodeURIComponent(JSON.stringify(json));

// 给url添加模板参数
url += jsonStr;

// 给url添加导出参数
url += pars + sheetsParam;

alert(url); // 打印url
window.open(url);

js怎么写看我基础教程的链接,这里就增加了一个sheetsIndexes参数,构建了[0,3,6]的数组,因为js没有range函数,必须用遍历。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值