datainout
Version:
Import and reports data
42 lines (39 loc) • 1.77 kB
TypeScript
import * as exceljs from 'exceljs';
import { Writable } from 'stream';
import { EventRegister } from '../../common/core/ListEvents.js';
import { ExcelTemplateManager } from '../../common/core/Template.js';
import { TableData } from '../../common/types/common-type.js';
import { CellReportOptions } from '../../common/types/report-template.type.js';
import { PartialDataTransfer } from '../PartialDataTransfer.js';
import { IExporter } from './IExporter.js';
import '../IPartialDataHandler.js';
import '../SheetMeta.js';
type ExcelExporterOptions = {
useSharedStrings?: boolean;
zip?: Partial<exceljs.stream.xlsx.ArchiverZipOptions>;
style?: "no-style" | "no-style-no-header" | "use-style";
};
type TableDataPartialDataTransfer = {
header?: any;
footer?: any;
table: PartialDataTransfer;
};
declare class ExcelExporter implements IExporter {
private templatePath;
private template;
private event;
private opts;
private excelProcessor;
constructor(templatePath: string);
get Template(): ExcelTemplateManager<CellReportOptions>;
get Event(): EventRegister;
write(reportPath: string, data: TableData, opts?: ExcelExporterOptions): Promise<void>;
write(reportPath: string, data: TableDataPartialDataTransfer, opts?: ExcelExporterOptions): Promise<void>;
toBuffer(data: TableData, opts?: ExcelExporterOptions): Promise<Buffer>;
toBuffer(data: TableDataPartialDataTransfer, opts?: ExcelExporterOptions): Promise<Buffer>;
streamTo(filePath: string, data: TableDataPartialDataTransfer, opts?: ExcelExporterOptions): void;
streamTo(stream: Writable, data: TableDataPartialDataTransfer, opts?: ExcelExporterOptions): void;
private execute;
private createTask;
}
export { ExcelExporter };