【发布时间】:2015-02-12 11:57:44
【问题描述】:
我有一个要导出到 Excel 工作表的 Kendo 网格。我编写了生成代码但无法下载 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,";
//start with the desired column headers here
var result = '';
result = "data:application/vnd.ms-excel,";
result += "<table><tr><th>ID</th><th>Display Name</th></tr>";
//each column will need to be called using the field name in the data source
for (var i = 0; i < data.length; i++) {
result += "<tr>";
result += "<td>" + data[i].StudentID + "</td>";
result += "<td>" + data[i].DisplayName + "</td>";
result += "<td>" + data[i].BirthAddress + "</td>";
result += "<td>" + data[i].Email1 + "</td>";
result += "<td>" + data[i].isActive + "</td>";
result += "</tr>";
}
result += "</table>";
alert(result);
if (window.navigator.msSaveBlob) {
//Internet Explorer
window.navigator.msSaveBlob(new Blob([result]), 'export.xls');
}
else if (window.webkitURL != null) {
//Google Chrome and Mozilla Firefox
var a = document.createElement('a');
alert(a);
a.href = result;
a.download = 'export.xls';
result = encodeURIComponent(result);
a.href = 'data:application/xls;charset=UTF-8,' + result;
a.download = 'export.xls';
a.click();
}
else {
//Everything Else
window.open(result);
}
e.preventDefault();
【问题讨论】:
-
您是否收到错误?哪个版本的剑道?
-
我可以 alert() 结果,但无法将其导出到 excel。我认为有一种错误。
-
我正在为 ASP.NET MVC 使用 Kendo 2014。
标签: asp.net-mvc kendo-grid kendo-asp.net-mvc