Optional backend contract for complete workbook XLSX interchange.
Members 3
name
toXlsxWorkbook
fromXlsxWorkbook
Declaration
View full TypeScript declaration
export interface XlsxWorkbookBackend {
data: ArrayBuffer | Uint8Array,
Referenced by
Workspace packages depending on @sheetwrite/core
@sheetwrite/benchdependency
@sheetwrite/docs-startdependency
@sheetwrite/reactdependency
@sheetwrite/sveltedependency
@sheetwrite/vuedependency
@sheetwrite/xlsxdependency
Public exports naming XlsxWorkbookBackend
(input: WorkbookSnapshot | Pick<Grid, "exportSnapshot">, options?: XlsxWorkbookOptions): Promise<Uint8Array>(input: WorkbookSnapshot | Pick<Grid, "exportSnapshot">, options?: XlsxWorkbookOptions): Promise<Uint8Array>(input: WorkbookSnapshot | Pick<Grid, "exportSnapshot">, options?: XlsxWorkbookOptions): Promise<Uint8Array>Formula-preserving, multi-sheet workbook export through the optional XLSX backend. @example import { registerXlsxBackends } from "@sheetwrite/xlsx"; import { toXlsxWorkbook, downloadBytes, type Grid } from "@sheetwrite/core"; registerXlsxBackends(); async function download(grid: Grid) { const bytes = await toXlsxWorkbook(grid); downloadBytes(bytes, "workbook.xlsx", "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"); } @see fromXlsxWorkbookAPI reference →interface WorkbookSnapshot {
schemaVersion: 1;
documentId?: string;
version?: number;
workbook: {
activeSheet: SheetId;
namedRanges?: NamedRangeSnapshot[];
};
sheets: SheetSnapshot[];
}interface WorkbookSnapshot {
schemaVersion: 1;
documentId?: string;
version?: number;
workbook: {
activeSheet: SheetId;
namedRanges?: NamedRangeSnapshot[];
};
sheets: SheetSnapshot[];
}interface WorkbookSnapshot {
schemaVersion: 1;
documentId?: string;
version?: number;
workbook: {
activeSheet: SheetId;
namedRanges?: NamedRangeSnapshot[];
};
sheets: SheetSnapshot[];
}Schema-versioned serializable workbook document.API reference →interface XlsxWorkbookOptions {
signal?: AbortSignal;
maxCells?: number;
resourceLimits?: Partial<Omit<XlsxResourceLimits, "maxCells">>;
onWarning?: (warning: XlsxWorkbookWarning) => void;
}interface XlsxWorkbookOptions {
signal?: AbortSignal;
maxCells?: number;
resourceLimits?: Partial<Omit<XlsxResourceLimits, "maxCells">>;
onWarning?: (warning: XlsxWorkbookWarning) => void;
}interface XlsxWorkbookOptions {
signal?: AbortSignal;
maxCells?: number;
resourceLimits?: Partial<
Omit<
XlsxResourceLimits,
"maxCells"
>
>;
onWarning?: (
warning: XlsxWorkbookWarning,
) => void;
}Shared options passed to every registered table and workbook XLSX backend.API reference →(data: ArrayBuffer | Uint8Array, options?: XlsxWorkbookOptions): Promise<WorkbookSnapshot>(data: ArrayBuffer | Uint8Array, options?: XlsxWorkbookOptions): Promise<WorkbookSnapshot>(data: ArrayBuffer | Uint8Array, options?: XlsxWorkbookOptions): Promise<WorkbookSnapshot>Formula-preserving, multi-sheet workbook import through the optional XLSX backend. @example import { registerXlsxBackends } from "@sheetwrite/xlsx"; import { fromXlsxWorkbook, createGridFromSnapshot, initSheetwrite } from "@sheetwrite/core"; registerXlsxBackends(); async function openWorkbook(host: HTMLElement, file: File) { await initSheetwrite(); const snapshot = await fromXlsxWorkbook(await file.arrayBuffer()); return createGridFromSnapshot(host, snapshot); } @see toXlsxWorkbookAPI reference →