Kendo ui 将自定义数据导出到剑道网格中的excel
我使用剑道网格插件来显示数据。 已使用剑道网格的内置功能导出到excel,以导出网格数据。 但我想在将数据导出到excel之前删除2列 请让我知道我怎样才能做到 谢谢, 努布尔请在此处查找,希望它将有助于解决您的问题。 您可以阅读文档Kendo ui 将自定义数据导出到剑道网格中的excel,kendo-ui,telerik,kendo-grid,kendo-dataviz,Kendo Ui,Telerik,Kendo Grid,Kendo Dataviz,我使用剑道网格插件来显示数据。 已使用剑道网格的内置功能导出到excel,以导出网格数据。 但我想在将数据导出到excel之前删除2列 请让我知道我怎样才能做到 谢谢, 努布尔请在此处查找,希望它将有助于解决您的问题。 您可以阅读文档 $(“#网格”).kendoGrid({ 工具栏:[“导出”], 数据源:{ 类型:“odata”, 运输:{ 阅读:“http://demos.telerik.com/kendo-ui/service/Northwind.svc/Products" }, 模式
$(“#网格”).kendoGrid({
工具栏:[“导出”],
数据源:{
类型:“odata”,
运输:{
阅读:“http://demos.telerik.com/kendo-ui/service/Northwind.svc/Products"
},
模式:{
型号:{
字段:{
UnitsInStock:{type:“number”},
产品名称:{type:“string”},
单价:{type:“number”},
单位顺序:{type:“number”},
UnitsInStock:{type:“number”}
}
}
},
页面大小:7,
组:{
字段:“单位库存”,合计:[
{字段:“产品名称”,聚合:“计数”},
{字段:“单价”,合计:“总和”},
{字段:“UnitsOnOrder”,聚合:“average”},
{字段:“UnitsInStock”,聚合:“count”}
]
},
合计:[
{字段:“产品名称”,聚合:“计数”},
{字段:“单价”,合计:“总和”},
{字段:“UnitsOnOrder”,聚合:“average”},
{字段:“UnitsInStock”,聚合:“min”},
{字段:“UnitsInStock”,聚合:“max”}
]
},
可排序:是的,
pageable:对,
分组:对,
可过滤:正确,
专栏菜单:是的,
可重定额:对,
可调整大小:正确,
栏目:[
{宽度:300,锁定:true,字段:“产品名称”,标题:“产品名称”,聚合:[“计数”],页脚模板:“总计数:#=计数#”,groupFooterTemplate:“计数:#=计数#”},
{宽度:300,字段:“单价”,标题:“单价”,合计:[“总和”]},
{宽度:300,字段:“UnitsOnOrder”,标题:“订单上的单位”,聚合:[“平均值”],页脚模板:“平均值:#=平均值#”,
groupFooterTemplate:“平均:#=平均#”},
{宽度:300,字段:“UnitsInStock”,标题:“库存单位”,聚合:[“最小”,“最大”,“计数”],页脚模板:“最小:#=最小#最大:#=最大#”,
groupHeaderTemplate:“库存单位:#=价值#(计数:#=计数#”)”}
]
});
$(.k-grid-Export”)。在('click',函数(e){
var grid=$(“#grid”).getKendoGrid();
变量行=[{
单元格:[
{value:“ProductName”},
{值:“单价”}
]
}];
var trs=$(“#网格”).find('tr');
对于(变量i=0;i
[更新]
要仅导出筛选的行,请使用以下代码。参考工作示例
<div id="example">
<div id="grid" style="width: 900px"></div>
<script>
$("#grid").kendoGrid({
toolbar: ["Export"],
dataSource: {
type: "odata",
transport: {
read: "http://demos.telerik.com/kendo-ui/service/Northwind.svc/Products"
},
schema:{
model: {
fields: {
UnitsInStock: { type: "number" },
ProductName: { type: "string" },
UnitPrice: { type: "number" },
UnitsOnOrder: { type: "number" },
UnitsInStock: { type: "number" }
}
}
},
pageSize: 7,
group: {
field: "UnitsInStock", aggregates: [
{ field: "ProductName", aggregate: "count" },
{ field: "UnitPrice", aggregate: "sum"},
{ field: "UnitsOnOrder", aggregate: "average" },
{ field: "UnitsInStock", aggregate: "count" }
]
},
aggregate: [
{ field: "ProductName", aggregate: "count" },
{ field: "UnitPrice", aggregate: "sum" },
{ field: "UnitsOnOrder", aggregate: "average" },
{ field: "UnitsInStock", aggregate: "min" },
{ field: "UnitsInStock", aggregate: "max" }
]
},
sortable: true,
pageable: true,
groupable: true,
filterable: true,
columnMenu: true,
reorderable: true,
resizable: true,
columns: [
{ width: 300, locked: true, field: "ProductName", title: "Product Name", aggregates: ["count"], footerTemplate: "Total Count: #=count#", groupFooterTemplate: "Count: #=count#" },
{ width: 300, field: "UnitPrice", title: "Unit Price", aggregates: ["sum"] },
{ width: 300, field: "UnitsOnOrder", title: "Units On Order", aggregates: ["average"], footerTemplate: "Average: #=average#",
groupFooterTemplate: "Average: #=average#" },
{ width: 300, field: "UnitsInStock", title: "Units In Stock", aggregates: ["min", "max", "count"], footerTemplate: "Min: #= min # Max: #= max #",
groupHeaderTemplate: "Units In Stock: #= value # (Count: #= count#)" }
]
});
$(".k-grid-Export").on('click', function(e){
var grid = $("#grid").getKendoGrid();
var rows = [{
cells: [
{ value: "ProductName" },
{ value: "UnitPrice" }
]
}];
//var trs = $("#grid").find('tr');
var trs = grid.dataSource;
var filteredDataSource = new kendo.data.DataSource({
data: trs.data(),
filter: trs.filter()
});
filteredDataSource.read();
var data = filteredDataSource.view();
for (var i = 0; i < data.length; i++) {
var dataItem = data[i];
rows.push({
cells: [
{ value: dataItem.ProductName },
{ value: dataItem.UnitPrice }
]
})
}
excelExport(rows);
e.preventDefault();
});
function excelExport(rows) {
var workbook = new kendo.ooxml.Workbook({
sheets: [
{
columns: [
{ autoWidth: true },
{ autoWidth: true }
],
title: "Orders",
rows: rows
}
]
});
kendo.saveAs({dataURI: workbook.toDataURL(), fileName: "Test.xlsx"});
}
</script>
$(“#网格”).kendoGrid({
工具栏:[“导出”],
数据源:{
类型:“odata”,
运输:{
阅读:“http://demos.telerik.com/kendo-ui/service/Northwind.svc/Products"
},
模式:{
型号:{
字段:{
UnitsInStock:{type:“number”},
产品名称:{type:“string”},
单价:{type:“number”},
单位顺序:{type:“number”},
UnitsInStock:{type:“number”}
}
}
},
页面大小:7,
组:{
字段:“单位库存”,合计:[
{字段:“产品名称”,聚合:“计数”},
{字段:“单价”,合计:“总和”},
{字段:“UnitsOnOrder”,聚合:“average”},
{字段:“UnitsInStock”,聚合:“count”}
]
},
合计:[
{字段:“产品名称”,聚合:“计数”},
{字段:“单价”,合计:“总和”},
{字段:“UnitsOnOrder”,聚合:“average”},
{字段:“UnitsInStock”,聚合:“min”},
{字段:“UnitsInStock”,聚合:“max”}
]
},
可排序:是的,
pageable:对,
分组:对,
可过滤:正确,
专栏菜单:是的,
可重定额:对,
可调整大小:正确,
栏目:[
{宽度:300,锁定:true,字段:“产品名称”,标题:“产品名称”,聚合:[“计数”],页脚模板:“总计数:#=计数#”,groupFooterTemplate:“计数:#=计数#”},
{宽度:300,字段:“单价”,标题:“单价”,合计:[“总和”]},
{宽度:300,字段:“UnitsOnOrder”,标题:“订单上的单位”,聚合:[“平均值”],页脚模板:“平均值:#=平均值#”,
groupFooterTemplate:“平均:#=平均#”},
{宽度:300,字段:“UnitsInStock”,标题:“库存单位”,聚合:[“最小”、“最大”、“计数”],页脚模板:“最小”
<div id="example">
<div id="grid" style="width: 900px"></div>
<script>
$("#grid").kendoGrid({
toolbar: ["Export"],
dataSource: {
type: "odata",
transport: {
read: "http://demos.telerik.com/kendo-ui/service/Northwind.svc/Products"
},
schema:{
model: {
fields: {
UnitsInStock: { type: "number" },
ProductName: { type: "string" },
UnitPrice: { type: "number" },
UnitsOnOrder: { type: "number" },
UnitsInStock: { type: "number" }
}
}
},
pageSize: 7,
group: {
field: "UnitsInStock", aggregates: [
{ field: "ProductName", aggregate: "count" },
{ field: "UnitPrice", aggregate: "sum"},
{ field: "UnitsOnOrder", aggregate: "average" },
{ field: "UnitsInStock", aggregate: "count" }
]
},
aggregate: [
{ field: "ProductName", aggregate: "count" },
{ field: "UnitPrice", aggregate: "sum" },
{ field: "UnitsOnOrder", aggregate: "average" },
{ field: "UnitsInStock", aggregate: "min" },
{ field: "UnitsInStock", aggregate: "max" }
]
},
sortable: true,
pageable: true,
groupable: true,
filterable: true,
columnMenu: true,
reorderable: true,
resizable: true,
columns: [
{ width: 300, locked: true, field: "ProductName", title: "Product Name", aggregates: ["count"], footerTemplate: "Total Count: #=count#", groupFooterTemplate: "Count: #=count#" },
{ width: 300, field: "UnitPrice", title: "Unit Price", aggregates: ["sum"] },
{ width: 300, field: "UnitsOnOrder", title: "Units On Order", aggregates: ["average"], footerTemplate: "Average: #=average#",
groupFooterTemplate: "Average: #=average#" },
{ width: 300, field: "UnitsInStock", title: "Units In Stock", aggregates: ["min", "max", "count"], footerTemplate: "Min: #= min # Max: #= max #",
groupHeaderTemplate: "Units In Stock: #= value # (Count: #= count#)" }
]
});
$(".k-grid-Export").on('click', function(e){
var grid = $("#grid").getKendoGrid();
var rows = [{
cells: [
{ value: "ProductName" },
{ value: "UnitPrice" }
]
}];
//var trs = $("#grid").find('tr');
var trs = grid.dataSource;
var filteredDataSource = new kendo.data.DataSource({
data: trs.data(),
filter: trs.filter()
});
filteredDataSource.read();
var data = filteredDataSource.view();
for (var i = 0; i < data.length; i++) {
var dataItem = data[i];
rows.push({
cells: [
{ value: dataItem.ProductName },
{ value: dataItem.UnitPrice }
]
})
}
excelExport(rows);
e.preventDefault();
});
function excelExport(rows) {
var workbook = new kendo.ooxml.Workbook({
sheets: [
{
columns: [
{ autoWidth: true },
{ autoWidth: true }
],
title: "Orders",
rows: rows
}
]
});
kendo.saveAs({dataURI: workbook.toDataURL(), fileName: "Test.xlsx"});
}
</script>
excelExport: function(e) {
var sheet = e.workbook.sheets[0];
for (var i = 0; i < sheet.rows.length; i++) {
sheet.rows[i].cells.reverse();
for (var ci = 0; ci < sheet.rows[i].cells.length; ci++) {
sheet.rows[i].cells[ci].hAlign = "right";
}
}
},