You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何使用jQuery移除Kendo Grid导出Excel的默认表头

解决Kendo Grid导出Excel时表头显示属性名的问题

你当前代码是在原始表头前插入了自定义表头,导致导出的Excel会出现两行表头。要替换原始属性名表头,只需操作sheet.rows数组修改默认生成的表头行即可,具体有两种实现方式:

方法一:删除原始表头后插入自定义表头

先移除sheet.rows数组里的默认属性名表头(默认是数组第一个元素),再插入自定义表头:

var sheet = e.workbook.sheets[0];
sheet.name = "My Sheet";

var myHeaders = [{
    value: "Header 1",
    textAlign: "left",
    background: "#60b5ff",
    color: "#ffffff"
}, {
    value: "Header 2",
    textAlign: "left",
    background: "#60b5ff",
    color: "#ffffff"
}, {
    value: "Header 3",
    textAlign: "left",
    background: "#60b5ff",
    color: "#ffffff"
}];

// 删除原始属性名表头行
sheet.rows.splice(0, 1);
// 插入自定义表头行
sheet.rows.splice(0, 0, { cells: myHeaders, type: "header" });

方法二:直接替换原始表头行

更简洁的方式是直接覆盖sheet.rows数组的第一个元素,省去删除步骤:

var sheet = e.workbook.sheets[0];
sheet.name = "My Sheet";

var myHeaders = [{
    value: "Header 1",
    textAlign: "left",
    background: "#60b5ff",
    color: "#ffffff"
}, {
    value: "Header 2",
    textAlign: "left",
    background: "#60b5ff",
    color: "#ffffff"
}, {
    value: "Header 3",
    textAlign: "left",
    background: "#60b5ff",
    color: "#ffffff"
}];

// 直接用自定义表头替换原始属性名表头行
sheet.rows[0] = { cells: myHeaders, type: "header" };

原理说明:Kendo Grid导出Excel时,默认会将数据属性名作为第一行表头存入sheet.rows数组的首位。通过修改这个数组的对应元素,就能实现替换表头的效果,不需要额外的API来删除工作表行。

内容的提问来源于stack exchange,提问作者John Butler

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.28 10:28:15