我已配置了kendo网格并配置了所有表格行和标题。 当我单击导出按钮时,它正在生成一个excel文件。但它通过在另一个URL中打开数据显示数据格式:application / vnd.ms-excel,OrderIDFreight ....... 我不需要提及列名称,并喜欢这个导出。 单击按钮将网格数据导出到Excel
var dataSource = $("#grid").data("kendoGrid").dataSource;
var filteredDataSource = new kendo.data.DataSource( {
data: dataSource.data(),
filter: dataSource.filter()
});
filteredDataSource.read();
var data = filteredDataSource.view();
var result = "data:application/vnd.ms-excel,";
result += "<table><tr><th>OrderID</th><th>Freight</th><th>Order Date</th><th>Ship
Name</th><th>Ship City</th></tr>";
for (var i = 0; i < data.length; i++) {
result += "<tr>";
result += "<td>";
result += data[i].OrderID;
result += "</td>";
result += "<td>";
result += data[i].Freight;
result += "</td>";
result += "<td>";
result += kendo.format("{0:MM/dd/yyyy}", data[i].OrderDate);
result += "</td>";
result += "<td>";
result += data[i].ShipName;
result += "</td>";
result += "<td>";
result += data[i].ShipCity;
result += "</td>";
result += "</tr>";
}
result += "</table>";
if (window.navigator.msSaveBlob) {
window.navigator.msSaveBlob(new Blob([result]),'export.xls');
} else {
window.open(result);
}
e.preventDefault();
});
它应该是通用的。
http://jsfiddle.net/SZBrt/100/
感谢。
答案 0 :(得分:0)
您是否尝试过进行服务器端导出?这肯定会有效。还为您提供了执行完全导出而不是导出网格当前页面数据的规定。
在Kendo Code库中,他们已经有一个项目可以帮助您这样做。请参阅链接http://www.telerik.com/support/code-library/export-grid-to-excel-8d91dd145501了解更多详情。