@@ -83,13 +83,15 @@ export class TemplatePanel {
8383 let lastColumns = '' ;
8484
8585 // Нет основной группы колонок => неоткуда брать формат колонок для окончания таблицы => пропускаем.
86- if ( mainColumns . length !== 0 ) {
87- for ( let i = ( columns . columnsItem ?? [ ] ) . length + totalAdditionalColumns ; i < columns . size ; i ++ ) {
88- const formatIndex = Number ( mainColumns [ 0 ] . columnsItem
89- . filter ( column => column . index === i ) [ 0 ] . column . formatIndex ) - 1 ;
90- const columnWidth = document . format [ formatIndex ] . width ? document . format [ formatIndex ] . width : '80' ;
91-
92- lastColumns += `<th style="max-width:${ columnWidth } px; width: ${ columnWidth } px;">${ i + 1 } </th>` ;
86+ if ( mainColumns . length !== 0 && mainColumns [ 0 ] . columnsItem ) {
87+ for ( let i = columns . columnsItem . length + totalAdditionalColumns ; i < columns . size ; i ++ ) {
88+ const columnByIndex = mainColumns [ 0 ] . columnsItem . filter ( column => column . index === i ) ;
89+ if ( columnByIndex && columnByIndex . length > 0 ) {
90+ const formatIndex = Number ( columnByIndex [ 0 ] . column . formatIndex ) - 1 ;
91+ const columnWidth = document . format [ formatIndex ] . width ? document . format [ formatIndex ] . width : '80' ;
92+
93+ lastColumns += `<th style="max-width:${ columnWidth } px; width: ${ columnWidth } px;">${ i + 1 } </th>` ;
94+ }
9395 }
9496 }
9597
@@ -164,7 +166,7 @@ function _getColumn(templatecolumn: TemplateColumn, indexRow: number, document:
164166 return ;
165167 }
166168
167- merge = document . merge . filter ( m => m . r == indexRow && m . c == indexColumn ) ;
169+ merge = document . merge ? .filter ( m => m . r == indexRow && m . c == indexColumn ) ;
168170
169171 const hasMergeColumns = HasMergeColumns ( merge ) ;
170172 const hasMergeRows = HasMergeRows ( merge ) ;
@@ -248,10 +250,10 @@ function _getColumn(templatecolumn: TemplateColumn, indexRow: number, document:
248250}
249251
250252function FindRowMerge ( indexRow : number , merge : TemplateMergeCells [ ] ) {
251- return merge
253+ return merge && merge . length ? merge
252254 . filter ( m =>
253255 m . h && m . w &&
254- ( m . r < indexRow && m . r + m . h >= indexRow ) ) ;
256+ ( m . r < indexRow && m . r + m . h >= indexRow ) ) : [ ] ;
255257}
256258
257259function HasMergeColumns ( merge : TemplateMergeCells [ ] ) {
0 commit comments