Я автор.Лист основан на HandsonTable.js, который вы можете увидеть здесь с демонстрацией объединенной ячейки:
https://docs.handsontable.com/4.0.0/demo-merged-cells.html
var
container = document.getElementById('example1'),
hot;
hot = new Handsontable(container, {
data: Handsontable.helper.createSpreadsheetData(100, 18),
colWidths: [47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47],
rowHeaders: true,
colHeaders: true,
contextMenu: true,
mergeCells: [
{row: 1, col: 1, rowspan: 3, colspan: 3},
{row: 3, col: 4, rowspan: 2, colspan: 2},
{row: 5, col: 6, rowspan: 3, colspan: 3}
]
});
Смотрите наш пример использования "extender" или "updateSettings", поэтомуВы можете установить Javascript для объединенных ячеек при загрузке.
https://www.primefaces.org/showcase-ext/sections/sheet/dynamicColumns.jsf
<pe:sheet id="sheet"
value="#{sheetDynamicController.sheetRows}"
var="row" height="400"
rowKey="#{row.id}"
showRowHeaders="true"
sortBy="#{row.id}"
sortOrder="ascending"
width="800"
widgetVar="sheetWidget"
extender="sheetExtender">
...
<script type="text/javascript">
function sheetExtender() {
this.cfg.mergeCells: [
{row: 1, col: 1, rowspan: 3, colspan: 3},
{row: 3, col: 4, rowspan: 2, colspan: 2},
{row: 5, col: 6, rowspan: 3, colspan: 3}
];
};