Posted 2 March 2023, 6:42 am EST
Since I cannot do the margining of the cell from excel to flexsheet, I am using the bellow function to set cell content. Is there a better way to do this? In Wijmo, can I use a binding to set the cell margin data?
writeToWorksheet(rowIndex: number, maxRowToWritePerCall: number, worksheetPageModel, sheet, callback, self, threadId) {
for (let i = 0; i < maxRowToWritePerCall; i++) {
if (rowIndex >= worksheetPageModel.rows.length) {
callback();
return;
}
const row = worksheetPageModel.rows[rowIndex]; if (sheet.rows[rowIndex]) { sheet.rows[rowIndex].visible = !row.isHidden; } else { for (let r = sheet.rows.length; r <= rowIndex; r++) { const newRow = new wjcGrid.Row(); newRow.visible = !row.isHidden; sheet.rows.push(new wjcGrid.Row()); } } for (let j = 0; j < row.cells.length; j++) { const cell = row.cells[j]; if (cell.e) { continue; } const colIdx = cell.c; const cellRange = self.getCellRange(sheet, row, cell); const sheetColumn = sheet.columns[colIdx]; if (sheetColumn) { sheet.setCellData(rowIndex, colIdx, cell.v); self.mergeCell(sheet, cellRange, row, cell); self.flexSheetStyleManagementService.setCellStyle(sheet, cellRange, cell, this.worksheetPageModel); cellRange.worksheetPageModel = cell; } else { console.warn('Invalid column index', cell); } } try { sheet.autoSizeRow(rowIndex); } catch (err) { console.log('[Excel] ', err); } rowIndex++; if (rowIndex >= worksheetPageModel.rows.length) { // this.setProgressBar(0, false);shaon callback(); return; } const progress = Math.round((rowIndex / worksheetPageModel.rows.length * 100)); this.fuseSplashScreenService.updateProgressBar(rowIndex, worksheetPageModel.rows.length, 'Rendering Spreadsheet', true); } if (rowIndex < worksheetPageModel.rows.length) { console.log(rowIndex, '[Excel] cell row writen threadId' + threadId); requestAnimationFrame(()=> { self.writeToWorksheet(rowIndex, maxRowToWritePerCall, worksheetPageModel, sheet, callback, self, threadId); }) }
}