【问题标题】:How to modify a value when exporting a Kendo grid to Excel?将剑道网格导出到 Excel 时如何修改值?
【发布时间】:2015-06-04 02:00:57
【问题描述】:

因此,我正在尝试寻找一种方法来修改导出到 excel 的值,就像使用 ClientTemplate() 在 Kendo Grid 中修改值一样。目前,我导出到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 Docs 似乎只有脚本解决方案,而我正在寻找一种方法来通过 cshtml 页面上的@ 转义来做到这一点。

感谢您的任何建议!

编辑:添加了更多细节,希望能消除一些疑虑。

【问题讨论】:

  • 您使用的是哪种数据绑定?
  • @mmillican 相信我正在使用gridBinding
  • 数据源是使用.Server()还是.Ajax()绑定?
  • @mmillican 我正在使用.Ajax()

标签: html kendo-ui telerik kendo-grid export-to-excel


【解决方案1】:

如果您查看他们的示例 (http://demos.telerik.com/aspnet-mvc/grid/excel-export),看起来ClientTemplate() 格式将被导出到 Excel。

不过,请注意,您使用 @ 转义引用 - 这在 ClientTemplates 中不起作用。您必须使用它们的语法,例如:

.ClientTemplate("#=myValue#")

【讨论】:

  • .ClientTemplate() 当我在网站上时工作,(显示“参加”或“不参加”而不是 1 或 0)但是当我导出到 Excel 时,会显示 0 或 1列上。您能否更具体地说明不使用 @ 转义?我目前正在使用它来制作整个网格,而不仅仅是 .ClientTemplate() 方法。
  • 您能否编辑您的问题并包括您的整个网格定义?
  • 我认为我无权添加整个定义,但我会对其进行编辑以包含更多详细信息。
猜你喜欢
  • 1970-01-01
  • 2017-10-25
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多