UNPKG

ag-grid-enterprise

Version:

Advanced Data Grid / Data Table supporting Javascript / Typescript / React / Angular / Vue

57 lines (56 loc) 2.01 kB
import type { AgColumn, Column, ColumnGroup, ExcelRow, ExcelStyle, ExcelWorksheetConfigParams, GridSerializingParams, RowAccumulator, RowNode, RowSpanningAccumulator } from 'ag-grid-community'; import { BaseGridSerializingSession } from 'ag-grid-community'; export interface StyleLinkerInterface { rowType: 'HEADER_GROUPING' | 'HEADER' | 'BODY'; rowIndex: number; value: string; column?: Column; columnGroup?: ColumnGroup; node?: RowNode; } export interface ExcelGridSerializingParams extends ExcelWorksheetConfigParams, GridSerializingParams { baseExcelStyles: ExcelStyle[]; styleLinker: (params: StyleLinkerInterface) => string[]; frozenRowCount?: number; frozenColumnCount?: number; } export declare class ExcelSerializingSession extends BaseGridSerializingSession<ExcelRow[]> { private readonly config; private readonly stylesByIds; private mixedStyles; private mixedStyleCounter; private readonly excelStyles; private rows; private cols; private columnsToExport; private frozenRowCount; private skipFrozenRows; private frozenColumnCount; private skipFrozenColumns; constructor(config: ExcelGridSerializingParams); addCustomContent(customContent: ExcelRow[]): void; onNewHeaderGroupingRow(): RowSpanningAccumulator; onNewHeaderRow(): RowAccumulator; onNewBodyRow(node?: RowNode): RowAccumulator; prepare(columnsToExport: AgColumn[]): void; parse(): string; private addRowOutlineIfNecessary; private isAnyParentCollapsed; private convertColumnToExcel; private onNewHeaderColumn; private onNewBodyColumn; private onNewRow; private createExcel; private getDataTypeForValue; private getTypeFromStyle; private addImage; private createCell; private createMergedCell; private getCellValue; private getStyleId; private deepCloneObject; private addNewMixedStyle; private isFormula; private isNumerical; private getStyleById; }