@mui/x-data-grid-premium
Version:
The Premium plan edition of the Data Grid Components (MUI X).
67 lines (66 loc) • 2.96 kB
TypeScript
import type * as Excel from 'exceljs';
import { GridRowId, GridColDef } from '@mui/x-data-grid-pro';
import { GridStateColDef, GridColumnGroupLookup } from '@mui/x-data-grid/internals';
import { GridExceljsProcessInput, ColumnsStylesInterface, GridExcelExportOptions } from '../gridExcelExportInterface';
import { GridPrivateApiPremium } from '../../../../models/gridApiPremium';
interface SerializedRow {
row: Record<string, undefined | number | boolean | string | Date>;
dataValidation: Record<string, Excel.DataValidation>;
outlineLevel: number;
mergedCells: {
leftIndex: number;
rightIndex: number;
}[];
}
export declare const serializeRow: (id: GridRowId, columns: GridStateColDef[], api: GridPrivateApiPremium, defaultValueOptionsFormulae: {
[field: string]: {
address: string;
};
}) => SerializedRow;
export declare const serializeColumn: (column: GridColDef, columnsStyles: ColumnsStylesInterface) => {
key: string;
headerText: string;
width: number;
style: {
numFmt?: string | undefined;
font?: Partial<Excel.Font> | undefined;
alignment?: Partial<Excel.Alignment> | undefined;
protection?: Partial<Excel.Protection> | undefined;
border?: Partial<Excel.Borders> | undefined;
fill?: Excel.Fill | undefined;
};
};
type SerializedColumns = Array<{
key: string;
width: number;
style: Partial<Excel.Style>;
headerText: string;
}>;
export declare function serializeColumns(columns: GridStateColDef[], styles: ColumnsStylesInterface): SerializedColumns;
type ValueOptionsData = Record<string, {
values: (string | number)[];
address: string;
}>;
export declare function getDataForValueOptionsSheet(columns: GridStateColDef[], valueOptionsSheetName: string, api: GridPrivateApiPremium): Promise<ValueOptionsData>;
interface BuildExcelOptions {
columns: GridStateColDef[];
rowIds: GridRowId[];
includeHeaders: boolean;
includeColumnGroupsHeaders: boolean;
valueOptionsSheetName: string;
exceljsPreProcess?: (processInput: GridExceljsProcessInput) => Promise<void>;
exceljsPostProcess?: (processInput: GridExceljsProcessInput) => Promise<void>;
columnsStyles?: ColumnsStylesInterface;
}
export declare function buildExcel(options: BuildExcelOptions, api: GridPrivateApiPremium): Promise<Excel.Workbook>;
export interface ExcelExportInitEvent {
serializedColumns: SerializedColumns;
serializedRows: SerializedRow[];
valueOptionsSheetName: string;
columnGroupPaths: Record<string, string[]>;
columnGroupDetails: GridColumnGroupLookup;
valueOptionsData: ValueOptionsData;
options: Omit<GridExcelExportOptions, 'exceljsPreProcess' | 'exceljsPostProcess' | 'columnsStyles' | 'valueOptionsSheetName'>;
}
export declare function setupExcelExportWebWorker(workerOptions?: Pick<GridExcelExportOptions, 'exceljsPostProcess' | 'exceljsPreProcess'>): void;
export {};