寫程式哪有不犯蠢的.今天再次對自己示範了一次
在Grid 裡要匯出excel
於是我加了
.ToolBar(tools => tools.Excel())
也加了
.Excel(excel => excel
.FileName("Kendo UI Grid Export.xlsx")
.Filterable(true)
.ProxyURL(Url.Action("Excel_Export_Save", "Grid"))
)
但是如圖所示,按了就是沒反應...就只給我橘色的框.
左思右想.不明白.又回頭看了看範例檔(還不止看了一次XD)
登愣~~~原來我少了基本的引用
<script src="//cdnjs.cloudflare.com/ajax/libs/jszip/2.4.0/jszip.min.js"></script>
加了之後就可以使用了...掯(有蠢到~
完整官網範例如下:
<script src="//cdnjs.cloudflare.com/ajax/libs/jszip/2.4.0/jszip.min.js"></script>
@(Html.Kendo().Grid<Kendo.Mvc.Examples.Models.ProductViewModel>()
.Name("grid")
.Columns(columns => {
columns.Bound(p => p.ProductName).Width(300)
.ClientFooterTemplate("Total Count: #=count#")
.ClientGroupFooterTemplate("Count: #=count#");
columns.Bound(p => p.UnitPrice).Width(300);
columns.Bound(p => p.UnitsOnOrder).Width(300)
.ClientFooterTemplate("Average: #=average#")
.ClientGroupFooterTemplate("Average: #=average#").Exportable(false);
columns.Bound(p => p.UnitsInStock).Width(300)
.ClientFooterTemplate("Min: #= min # Max: #= max #")
.ClientGroupHeaderTemplate("Units In Stock: #= value # (Count: #= count#)");
})
.ToolBar(tools => tools.Excel())
.Pageable()
.Sortable()
.Groupable()
.Excel(excel => excel
.FileName("Kendo UI Grid Export.xlsx")
.Filterable(true)
.ProxyURL(Url.Action("Excel_Export_Save", "Grid"))
)
.Reorderable(r => r.Columns(true))
.Resizable(r => r.Columns(true))
.ColumnMenu()
.DataSource(dataSource => dataSource
.Ajax()
.PageSize(7)
.Group(g => g.Add(p => p.UnitsInStock))
.Aggregates(aggregates =>
{
aggregates.Add(p => p.UnitsInStock).Min().Max().Count();
aggregates.Add(p => p.UnitsOnOrder).Average();
aggregates.Add(p => p.ProductName).Count();
aggregates.Add(p => p.UnitPrice).Sum();
})
.Read(read => read.Action("Excel_Export_Read", "Grid"))
)
)
https://demos.telerik.com/aspnet-mvc/grid/excel-export