Мне нужно объединить ячейки в таблице. Библиотека Exceljs

Была проблема. Я создаю рабочий лист в библиотеке EXCELJS

function save_export(){


    var workbook = new ExcelJS.Workbook();
    var worksheet = workbook.addWorksheet('sheet', {
      pageSetup:{paperSize: 9, orientation:'portrait',fitToPage: true,fitToHeight :  99 , fitToWidth :  1, horizontalCentered: true}
    }); 

    var tfoot = [];

        $(element).each(function(index_tfoot, element_tfoot) {
          $($(element_tfoot).find("#tfoot tr")).each(function(index_tr, element_tr) {

                $(this.cells).each(function(index_td, element_td) {
                    tfoot.push($(element_td).text());   
                });

                var row_foot = worksheet.addRow(tfoot);
                row_foot.eachCell(function(cell,rowNumber) {

                    cell.font = { name: 'Verdana', size: 11};
                    cell.alignment = {horizontal: 'center' };
                    cell.border = {
                      top: { style: "thin" },
                      left: { style: "thin" },
                      bottom: { style: "thin" },
                      right: { style: "thin" }
                    };


                    <!-- if(cell._value.model.value === 'ИТОГО'){ -->
                        <!-- var c = 'A'; -->
                        <!-- var r = cell._row._number; -->
                        <!-- var sum = c+r; -->
                        <!-- worksheet.mergeCells(sum + ': B31'); -->
                    <!-- } // ПОЛУЧИЛ ИТОГО -->

                });

                tfoot = [];

                });
        });

    });




        workbook.xlsx.writeBuffer().then(function (data) {
            var blob = new Blob([data], {
                type: "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet",
            });

            saveAs(blob, "Исходная выборка.xlsx");
        });

};

когда я объединяю ячейки, мои объединенные строки располагаются над ячейками, как на скриншоте «до». Вы видите, что число 238 исчезает.

Мне нужно, чтобы клетки двигались.

[1]: https://i.stack.imgur.com/kyquZ.png - до [2]: https://i.stack.imgur.com/0DeRc.png - после

Как мы видим на скринах, ячейки сливаются и значение пропадает((

надо поменять(


person Паша Харченко    schedule 10.05.2020    source источник


Ответы (1)


Я столкнулся с той же проблемой. Данные необходимо добавить после объединения ячеек. См. документацию https://github.com/exceljs/exceljs#merged-cells

person Murugavel    schedule 28.07.2020
comment
Пожалуйста, размещайте соответствующие части кода прямо здесь, а не просто ссылайтесь на другую страницу. - person Homungus; 28.07.2020
comment
@Homungus Обратитесь к приведенному ниже коду, чтобы узнать, как я справился с требованиями моего приложения. code let titleRow = worksheet.addRow([]); пусть currentRow = titleRow._number; // объединить по начальной строке, начальному столбцу, конечной строке, конечному столбцу worksheet.mergeCells(currentRow,1,currentRow,12); пусть titleCell = worksheet.getCell('A'+currentRow); titleCell.value = title_text; - person Murugavel; 29.07.2020
comment
Привет, я столкнулся с аналогичной проблемой, когда я использую addRow для копирования строк из Excel в другой Excel, хотя возможности объединенных строк, похоже, потеряны. В строках нет объединенных ячеек, как в исходном Excel. stackoverflow.com/questions/65320644/ знаете ли вы, в чем здесь может быть проблема? - person opensource-developer; 16.12.2020