如何在将Kendo网格导出到Excel时修改值?
因此,我试图寻找一种方法来修改导出为excel的值,就像使用ClientTemplate()
修改Kendo Grid中的值一样。目前,我导出到Excel的方式就是通过这种方法:如何在将Kendo网格导出到Excel时修改值?
.Excel(excel => excel
.FileName("InvitedList.xlsx")
.AllPages(true)
.Filterable(true)
我使用.ClientTemplate()
方式如下:
@(Html.Kendo().Grid<(TableLocation)>()
.Name("List of Invited")
.Columns(col => {
...Some Columns...
columns.Bound(p => p.RSVP).Title("Is Attending?").Width(75).ClientTemplate("#if(RSVP == 0){#No#}else{#Yes#}#");
...More Columns...
})
.ToolBar(toolbar => {
toolbar.Excel();
})
...
.Excel(excel => excel
.FileName("InvitedList.xlsx")
.AllPages(true)
.Filterable(true)
)
...
.DataSource(dataSource => dataSource
.Ajax()
...
)
)
我没有在StackOverflow的在这里找到一种方式,和Telerik的文档似乎只有脚本解决方案,而我正在寻找一种方法来执行从cshtml页面上的@
转义。
谢谢你的任何建议!
编辑:添加了一些更多细节,希望能够清除一些疑惑。
如果你看看他们的例子(http://demos.telerik.com/aspnet-mvc/grid/excel-export),它看起来像ClientTemplate()
格式将被导出到Excel。
虽然有一点需要注意,您使用@
转义引用 - 这在ClientTemplates中不起作用。您必须使用它们的语法,例如:
.ClientTemplate("#=myValue#")
'.ClientTemplate()'当我在网站上工作,(显示'参加'或'不参加'而不是1或0),但是当我输出到Excel中,0或1显示在列上。你可以更具体的不使用'@'转义?我目前使用它来创建整个网格,而不仅仅是'.ClientTemplate()'方法。 – 2015-03-31 15:39:47
你可以编辑你的问题,并包括你的整个网格定义? – 2015-03-31 15:40:51
我不认为我有权限添加整个定义,但我会编辑它以包含更多详细信息。 – 2015-03-31 16:05:12
您使用哪种数据绑定? – 2015-03-30 21:29:02
@mmillican相信我正在使用'gridBinding'。 – 2015-03-31 14:43:59
您是否使用'.Server()'或'.Ajax()'绑定数据源? – 2015-03-31 14:58:23