【发布时间】:2014-03-18 23:43:44
【问题描述】:
我已经配置了剑道网格并配置了所有的表格行和标题。 当我单击导出按钮时,它正在生成一个 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/
谢谢。
【问题讨论】:
-
你的意思是列名和数据应该以通用方式导出???
-
是的。就算这样也好。但这在 IE 中不起作用。所以我正在寻找替代方案。
-
我看到一些链接告诉我 saveblob 适用于 Ie10+ stuk.github.io/jszip/examples/download-zip-file.html
-
能否请您更新小提琴并检查它是否在 IE 中有效。
-
我正在尝试,但您的代码在 ie 10 及以下版本中无法使用
标签: kendo-ui kendo-grid