【问题标题】:Can you set the mergedCells property in Kendo UI for jQuery ooxml.Workbook.sheets without range name?您可以在 Kendo UI 中为没有范围名称的 jQuery ooxml.Workbook.sheets 设置 mergedCells 属性吗?
【发布时间】:2023-02-09 23:20:11
【问题描述】:

我在合并工作簿中现有工作表中的单元格时遇到问题。我在创建工作表后尝试使用 mergedCells 遇到了障碍,我似乎无法获得 Workbook.sheet 中 mergedCells 选项所记录的字符串格式的范围名称:

mergedCells: ["A6:A8"]

我所拥有的只是细胞的索引。

我有逻辑来确定要合并哪些单元格的索引,但只有索引。我想不出一种方法来获取 Excel 单元格名称/字符串(如“A1”)中的范围。在下面的示例中,忽略我如何获得索引值,我无法根据索引合并单元格,其中 indexA 是列,indexB1 和 indexB2 是行。

let indexA = 0;

let indexB1 = 5;

let indexB2 = 7;

sheet.mergedCells = [[{indexA, indexB1},{indexA,indexB2}]]

我附上了工作簿中我想要合并的单元格类型的图片,我的循环首先从 A6 到 A8 并确定要合并的索引,因为所有单元格的值都等于“Boat”。感谢任何帮助,如果需要,我会尝试提供更多详细信息,但由于我所使用的系统的性质,很难提供更多信息。

提前致谢。format of workbook

【问题讨论】:

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


    【解决方案1】:

    那么您有需要合并的单元格的 R1C1 符号吗?如果是这样,按照 this thread 中的建议,您可以生成 A1 符号的范围 - example

    function columnName(index) {
        var cname = String.fromCharCode(65 + ((index - 1) % 26));
        if (index > 26)
          cname = String.fromCharCode(64 + (index - 1) / 26) + cname;
        return cname;
      }
    
      var r1 = 2;
      var c1 = 3;
      var r2 = 4;
      var c2 = 5;
    
      var rangeAsString = `${columnName(c1)}${r1}:${columnName(c2)}${r2}`;
    
      var workbook = new kendo.ooxml.Workbook({
        sheets: [{
          mergedCells: [rangeAsString],
          rows: [
            { cells: [ { value: "Document Title" }  ] },
            { cells: [ { value: 22 }, { value: 33 }, { value: 44 }, {value: 55}  ] }
          ]
        }]
      });
    
      kendo.saveAs({
        dataURI: workbook.toDataURL(),
        fileName: "Test.xlsx"
      });
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-11-24
      • 1970-01-01
      • 1970-01-01
      • 2012-05-21
      • 2018-02-16
      • 2020-10-22
      相关资源
      最近更新 更多