@mui/x-data-grid-premium
Version:
The Premium plan edition of the MUI X Data Grid Components.
40 lines • 2.38 kB
TypeScript
import type * as Excel from '@mui/x-internal-exceljs-fork';
import type { RefObject } from '@mui/x-internals/types';
import { type GridRowId, type GridColDef } from '@mui/x-data-grid-pro';
import { type GridStateColDef } from '@mui/x-data-grid/internals';
import type { ColumnsStylesInterface, GridExcelExportOptions } from "../gridExcelExportInterface.js";
import type { GridPrivateApiPremium } from "../../../../models/gridApiPremium.js";
import { type SerializedColumns, type SerializedRow, type ValueOptionsData } from "./utils.js";
export type { ExcelExportInitEvent } from "./utils.js";
/**
* FIXME: This function mutates the colspan info, but colspan info assumes that the columns
* passed to it are always consistent. In this case, the exported columns may differ from the
* actual rendered columns.
* The caller of this function MUST call `resetColSpan()` before and after usage.
*/
export declare const serializeRowUnsafe: (id: GridRowId, columns: GridStateColDef[], apiRef: RefObject<GridPrivateApiPremium>, defaultValueOptionsFormulae: {
[field: string]: {
address: string;
};
}, options: Pick<BuildExcelOptions, "escapeFormulas">) => 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;
};
};
export declare function serializeColumns(columns: GridStateColDef[], styles: ColumnsStylesInterface): SerializedColumns;
export declare function getDataForValueOptionsSheet(columns: GridStateColDef[], valueOptionsSheetName: string, api: GridPrivateApiPremium): Promise<ValueOptionsData>;
interface BuildExcelOptions extends Pick<GridExcelExportOptions, 'exceljsPreProcess' | 'exceljsPostProcess'>, Pick<Required<GridExcelExportOptions>, 'valueOptionsSheetName' | 'includeHeaders' | 'includeColumnGroupsHeaders' | 'escapeFormulas'> {
columns: GridStateColDef[];
rowIds: GridRowId[];
columnsStyles?: ColumnsStylesInterface;
}
export declare function buildExcel(options: BuildExcelOptions, apiRef: RefObject<GridPrivateApiPremium>): Promise<Excel.Workbook>;