通过在 kendo 中导出更改 Excel sheet 中的列宽

Change the width of column in the Excel sheet via export in kendo

我在我的 ember 应用程序中使用 kendo 网格。我在 kendo 中引入了导出到 Excel。但是下载 Excel sheet 后,我想调整 Excel sheet 内的列宽..如何处理?

这是我的代码:

myGrid.bind("excelExport", function (e) {
    // console.log(">>"+);
    var str = e.sender.columns;
    var title = str.map(function(d) { return d['title']; }).indexOf('Action');
    var documentKey = str.map(function(d) { return d['field']; }).indexOf('documentKey'); 

    if (!exportFlag) {  
        e.sender.hideColumn(documentKey);
        e.sender.hideColumn(title);
        e.preventDefault();

        exportFlag = true;

        setTimeout(function () {
            e.sender.saveAsExcel();
        });
    } else {
        e.sender.showColumn(documentKey);
        e.sender.showColumn(title);
        exportFlag = false;
    }
}); 

如果要在导出到 excel 期间修改单元格格式,可以设置 kendo.ooxml.Workbook

通过这种方式,您可以通过构建包含 columnsrowscells:

的数组来修改每个单元格、行、列等的格式
var workbook = new kendo.ooxml.Workbook({
  sheets: [
      {
          columns: [ { width: 100 }, { width: 200 } ],
          rows: [
            {
              cells: [
                { value: "this column is 100px" }, { value: "this column is 200px" }
              ]
            }
          ]
      }
  ]
});

在您的情况下,您需要根据网格数据源中的内容构建要发送到工作簿的数据。

我附上了一个 Dojo example 来演示上述所有操作的示例。