datainout
Version:
Import and reports data
46 lines (43 loc) • 2.19 kB
TypeScript
import * as exceljs from 'exceljs';
import { CellReportOptions } from '../../../common/types/report-template.type.js';
import { ExcelTemplateManager } from '../../../common/core/Template.js';
import { EventRegister } from '../../../common/core/ListEvents.js';
import '../../../common/types/common-type.js';
type ExcelProcessorOptions = {
workBook: exceljs.Workbook;
template: ExcelTemplateManager<CellReportOptions>;
event: EventRegister;
header?: any;
style?: "no-style" | "no-style-no-header" | "use-style";
footer?: any;
};
declare class ExcelProcessor {
protected template: ExcelTemplateManager<CellReportOptions>;
protected workBook: exceljs.Workbook;
protected headerData?: any;
protected footerData?: any;
protected event: EventRegister;
protected style: "no-style" | "no-style-no-header" | "use-style";
private titlesTable;
private columnKeys?;
constructor(opts: ExcelProcessorOptions);
private createColumnKey;
protected getOrCreateWorksheet(name: string): exceljs.Worksheet;
protected setHeader(headerData: any, sheet: exceljs.Worksheet): void;
protected setHeader(headerData: any, sheetName: string): void;
pushData(sheetName: string, batches: any[] | any, isFinish?: boolean): void;
protected setFooter(footerData: any, sheetName: string): void;
protected setFooter(footerData: any, sheet: exceljs.Worksheet): void;
finalizeWorksheet(sheetName: string): void;
protected addRowWithoutStyle(rowdata: any, workSheet: exceljs.Worksheet): void;
protected addRow(data: any, workSheet: exceljs.Worksheet, cellDesc: CellReportOptions[]): exceljs.Row;
protected setCell(rowData: any, cellOpt: CellReportOptions, cell: exceljs.Cell): exceljs.Cell;
protected mergeCells(sheet: exceljs.Worksheet): void;
protected setWidthsAndHeights(sheet: exceljs.Worksheet): void;
}
declare class ExcelStreamProcessor extends ExcelProcessor {
finalizeWorksheet(sheetName: string): void;
protected addRow(data: any, workSheet: exceljs.Worksheet, cellDesc: CellReportOptions[]): exceljs.Row;
finalizeWorkbook(): Promise<void>;
}
export { ExcelProcessor, ExcelStreamProcessor };