如何在Kendo UI网格中自定义导出excel
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何在Kendo UI网格中自定义导出excel相关的知识,希望对你有一定的参考价值。
我正在使用Kendo UI网格。我有列,其中一列在列的末尾有一个总量(footertemplate)。当我导出到Excel时,excel显示总数为0.我在互联网上搜索但我什么都不懂。有人解释简单并帮助我?谢谢。
这是我的JS代码
self.filterClick = function () {
showLoading();
options.columns[7].footerTemplate = 'Toplam: #: data.CreditAmount ? kendo.format("{0:C2}",data.CreditAmount.sum): 0,00 #';
mbisPost('Reports.Summary', "/api/PolisanReportApi/OpenPosOKCItems", ko.toJS(self.filters), function (result) {
if (result && result.length > 0) {
self.showNoDataToDisplay(false);
var kendoResource = getKendoResourceOptions();
$("#grid").kendoGrid({
toolbar: [{ name: "excel", text: kendoResource.toolbar.messages.excel }],
excel: {
fileName: "OpenPosOKCItemsList.xlsx",
allPages: true,
filterable: true
},
dataSource: {
data: result,
pageSize: 10,
aggregate: [
{ field: "CreditAmount", aggregate: "sum" }
]
},
groupable: kendoResource.groupable,
scrollable: true,
sortable: true,
selectable: "multiple",
pageable: kendoResource.pageable,
columns: options.columns
});
}
else {
self.showNoDataToDisplay(true);
}
}).error(function () { hideLoading(); }).done(function () { hideLoading(); });
}
答案
我找到了答案。
excelExport: function(e) {
var rows = e.workbook.sheets[0].rows;
var total = 0; //
for (var ri = 0; ri < rows.length; ri++) {
var row = rows[ri];
if(row.type == "data"){
total = total + row.cells[7].value;
}
else if (row.type == "group-footer" || row.type == "footer") {
for (var ci = 0; ci < row.cells.length; ci++) {
var cell = row.cells[ci];
if (cell.value) {
cell.value = "Toplam : " + total;
cell.hAlign = "right";
}
}
}
}
}
以上是关于如何在Kendo UI网格中自定义导出excel的主要内容,如果未能解决你的问题,请参考以下文章
Angular 的 Kendo UI:如何在网格中定义最小宽度
如何在 Kendo UI 网格中创建自定义删除/销毁按钮/命令?
Kendo UI MVC——如何获得更灵活的网格自定义命令?
Kendo UI Grid Excel Export 不适用于引用 Kendo 值的 ClientGroupFooterTemplate