Javascript 剑道UI多重网格Excel导出
下面是我用来将剑道多重网格导出到Excel的代码,如何导出所有页面Javascript 剑道UI多重网格Excel导出,javascript,jquery,kendo-ui,telerik,kendo-grid,Javascript,Jquery,Kendo Ui,Telerik,Kendo Grid,下面是我用来将剑道多重网格导出到Excel的代码,如何导出所有页面 请尝试以下代码片段 <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>Kendo UI Snippet</title> <link rel="stylesheet" href="http://cdn.kendostatic.com/2014.3.1119/s
请尝试以下代码片段
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>Kendo UI Snippet</title>
<link rel="stylesheet" href="http://cdn.kendostatic.com/2014.3.1119/styles/kendo.common.min.css">
<link rel="stylesheet" href="http://cdn.kendostatic.com/2014.3.1119/styles/kendo.rtl.min.css">
<link rel="stylesheet" href="http://cdn.kendostatic.com/2014.3.1119/styles/kendo.default.min.css">
<link rel="stylesheet" href="http://cdn.kendostatic.com/2014.3.1119/styles/kendo.dataviz.min.css">
<link rel="stylesheet" href="http://cdn.kendostatic.com/2014.3.1119/styles/kendo.dataviz.default.min.css">
<link rel="stylesheet" href="http://cdn.kendostatic.com/2014.3.1119/styles/kendo.mobile.all.min.css">
<script src="http://code.jquery.com/jquery-1.9.1.min.js"></script>
<script src="http://cdn.kendostatic.com/2014.3.1119/js/jszip.min.js"></script>
<script src="http://cdn.kendostatic.com/2014.3.1119/js/kendo.all.min.js"></script>
<style>
#products .k-grid-toolbar
{
display:none !important;
}
</style>
</head>
<body>
<button id="export" class="k-button"><span class="k-icon k-i-excel"></span>Export to Excel</button>
<div id="products"></div>
<div id="orders"></div>
<script>
// used to sync the exports
var promises = [
$.Deferred(),
$.Deferred()
];
$("#export").click(function(e){
// trigger export of the products grid
$("#products").data("kendoGrid").saveAsExcel();
// trigger export of the orders grid
$("#orders").data("kendoGrid").saveAsExcel();
// wait for both exports to finish
$.when.apply(null, promises)
.then(function(productsWorkbook, ordersWorkbook) {
// create a new workbook using the sheets of the products and orders workbooks
var sheets = [
productsWorkbook.sheets[0],
ordersWorkbook.sheets[0]
];
sheets[0].title = "Products";
sheets[1].title = "Orders";
var workbook = new kendo.ooxml.Workbook({
sheets: sheets
});
// save the new workbook,b
kendo.saveAs({
dataURI: workbook.toDataURL(),
fileName: "ProductsAndOrders.xlsx"
})
});
});
$("#products").kendoGrid({
toolbar: ["excel"],
excel: {
allPages: true
},
dataSource: {
transport: {
read: {
url: "http://demos.telerik.com/kendo-ui/service/Products",
dataType: "jsonp"
}
},
pageSize: 20
},
height: 550,
pageable: true,
excelExport: function(e) {
e.preventDefault();
promises[0].resolve(e.workbook);
}
});
$("#orders").kendoGrid({
dataSource: {
type: "odata",
transport: {
read: "http://demos.telerik.com/kendo-ui/service/Northwind.svc/Orders"
},
pageSize: 20,
serverPaging: true
},
height: 550,
pageable: true,
columns: [
{ field:"OrderID" },
{ field: "ShipName", title: "Ship Name" },
{ field: "ShipCity", title: "Ship City" }
],
excelExport: function(e) {
e.preventDefault();
promises[1].resolve(e.workbook);
}
});
</script>
</body>
</html>
剑道UI片段
#产品。k-grid-toolbar
{
显示:无!重要;
}
输出到Excel
//用于同步导出
var承诺=[
$.Deferred(),
$延期付款()
];
$(“#导出”)。单击(函数(e){
//触发产品网格的导出
$(“#产品”).data(“kendoGrid”).saveAsExcel();
//触发订单网格的导出
$(“#订单”).data(“kendoGrid”).saveAsExcel();
//等待两个导出都完成
$.when.apply(空,承诺)
.then(函数(productsWorkbook、ordersWorkbook){
//使用“产品和订单”工作簿的工作表创建新工作簿
变量表=[
productsWorkbook.sheets[0],
ordersWorkbook.sheets[0]
];
工作表[0]。title=“产品”;
工作表[1]。title=“订单”;
var workbook=新建kendo.ooxml.workbook({
床单:床单
});
//保存新工作簿,b
剑道({
dataURI:工作簿.toDataURL(),
文件名:“ProductsAndOrders.xlsx”
})
});
});
$(“#产品”)。肯多格里德({
工具栏:[“excel”],
卓越:{
所有页面:正确
},
数据源:{
运输:{
阅读:{
url:“http://demos.telerik.com/kendo-ui/service/Products",
数据类型:“jsonp”
}
},
页面大小:20
},
身高:550,
pageable:对,
Excel导出:函数(e){
e、 预防默认值();
承诺[0]。解析(e.工作簿);
}
});
美元(“#订单”)。肯多格里德({
数据源:{
类型:“odata”,
运输:{
阅读:“http://demos.telerik.com/kendo-ui/service/Northwind.svc/Orders"
},
页面大小:20,
服务器分页:真
},
身高:550,
pageable:对,
栏目:[
{字段:“OrderID”},
{字段:“船名”,标题:“船名”},
{字段:“船舶城”,标题:“船舶城”}
],
Excel导出:函数(e){
e、 预防默认值();
承诺[1]。解决(e.workbook);
}
});
如果有任何问题,请告诉我。有效,谢谢。但如果我编辑网格然后更新,它只会导出旧数据而不是新数据。请提供您的代码片段,这是我的代码,谢谢您的帮助。