当我将网格导出到Excel时,标题如下:产品名称,excel中的{{'unitsOrder'| translate}}
。我的网格支持2种语言,我用angularjs翻译方式显示它。任何报价?
<script>
$("#grid").kendoGrid({
toolbar: ["excel"],
excel: {
fileName: "Kendo UI Grid Export.xlsx"
},
dataSource: {
type: "odata",
transport: {
read: "http://demos.telerik.com/kendo-ui/service/Northwind.svc/Products"
},
pageSize: 7
},
sortable: true,
pageable: true,
columns: [
{ width: 300, field: "ProductName", title: "<b>Product Name</b>" },
{ field: "UnitsOnOrder", title: "{{'unitsOrder'| translate}}" },
{ field: "UnitsInStock", title: "Units In Stock" }
]
});
</script>
答案 0 :(得分:0)
我有一个类似的问题,但我使用i18next翻译而不是角度,但也许它可以帮助你找到你的案例的解决方案:
我使用&#39; excelExport&#39;手动更新生成的工作表的事件。在工作表对象中,我搜索标题单元格并手动触发其包含的文本的翻译:
excelExport: function(e) {
// First I loop through all rows in the worksheet
e.workbook.sheets[0].rows.forEach(function(row){
// Ignore 'data' rows (only use 'header' and 'footer')
if(row.type != 'data'){
// Loop through all cells of the row
row.cells.forEach(function(cell){
// Here I overwrite the cell value with its translation
// You have to implement translate() so it works with angular
cell.value = translate(cell.value)
});
}
});
},
您现在必须编写自己的翻译功能,可以处理您的角度转换。当我使用i18next进行翻译时,我的解决方案在这里没有帮助(我使用jquery生成一个jquery html对象,我可以在其上触发翻译)