Kendo UI Grid导出Excel/PDF时去除列补位零的解决方案求助
Kendo Grid导出带template列的无补零数据解决方案
你之前的方案B不生效的核心原因是excelExport事件触发时,工作表结构已经提前生成在e.workbook对象中,修改原始数据源e.data不会同步到已生成的工作表内,直接操作导出对象的内容即可解决,同时适配Excel和PDF两种导出场景:
1. Excel导出处理
excelExport: function (e) { // 目标列索引:你当前sys_id_sorted是columns配置的第一列,索引为0,可根据实际列顺序调整 const targetColIndex = 0; // 遍历工作表所有行,跳过第0行的表头 for (let i = 1; i < e.workbook.sheets[0].rows.length; i++) { const currentRow = e.workbook.sheets[0].rows[i]; // 直接从原始数据项取无补零的sys_id覆盖单元格值 currentRow.cells[targetColIndex].value = currentRow.dataItem.sys_id; } },
2. PDF导出处理
PDF导出逻辑可直接修改导出数据源的绑定字段值即可生效:
pdfExport: function (e) { e.data.forEach(dataItem => { // 将绑定的带补零字段替换为无补零的sys_id dataItem.sys_id_sorted = dataItem.sys_id; }); },
补充说明
- 该方案不需要修改你原有列配置,原有的template渲染、列排序逻辑完全保留
- 如果目标列索引不确定,可以在
excelExport事件中打印e.workbook.sheets[0].rows[0].cells,对比表头文字确认对应索引即可
内容的提问来源于stack exchange,提问作者Junglefish
相关产品推荐
相关产品推荐

