Formula-preserving, multi-sheet workbook import through the optional XLSX backend.
Examples
async function openWorkbook(host: HTMLElement, file: File) {
See also
Declaration
function fromXlsxWorkbook(
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 fromXlsxWorkbook
function registerXlsxBackends(): voidfunction registerXlsxBackends(): voidfunction registerXlsxBackends(): voidRegister all concrete XLSX backends with the backend-neutral core contracts.@example import { registerXlsxBackends } from "@sheetwrite/xlsx"; import { fromXlsxWorkbook } from "@sheetwrite/core"; registerXlsxBackends(); async function open(file: File) { return fromXlsxWorkbook(await file.arrayBuffer()); }@see /docs/guides/xlsx-export/API reference →function fromXlsxWorkbook(data: ArrayBuffer | Uint8Array, options?: XlsxWorkbookOptions): Promise<WorkbookSnapshot>function fromXlsxWorkbook(
data: ArrayBuffer | Uint8Array,
options?: XlsxWorkbookOptions,
): Promise<WorkbookSnapshot>function fromXlsxWorkbook(
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 →function createGridFromSnapshot(host: HTMLElement, snapshot: unknown, options?: SnapshotGridOptions): Gridfunction createGridFromSnapshot(
host: HTMLElement,
snapshot: unknown,
options?: SnapshotGridOptions,
): Gridfunction createGridFromSnapshot(
host: HTMLElement,
snapshot: unknown,
options?: SnapshotGridOptions,
): GridMount a grid over a validated, non-dirty snapshot. The grid owns and disposes the hydrated store just like one created through createGrid.API reference →function initSheetwrite(source?: BufferSource | URL | string | Request | WebAssembly.Module, engine?: SheetwriteEngine): Promise<void>function initSheetwrite(
source?:
BufferSource | URL | string | Request | WebAssembly.Module,
engine?: SheetwriteEngine,
): Promise<void>function initSheetwrite(
source?:
| BufferSource
| URL
| string
| Request
| WebAssembly.Module,
engine?: SheetwriteEngine,
): Promise<void>Load one WASM engine before createGrid. The default is @sheetwrite/wasm. Pass the @sheetwrite/formulas module as the second argument to select the full engine.@example import { initSheetwrite } from "@sheetwrite/core"; import * as formulas from "@sheetwrite/formulas"; await initSheetwrite(undefined, formulas);@see /docs/guides/formulas/@see createGridAPI reference →function openWorkbook(host: HTMLElement, file: File): Promise<Grid>function openWorkbook(
host: HTMLElement,
file: File,
): Promise<Grid>function openWorkbook(
host: HTMLElement,
file: File,
): Promise<Grid>API reference →interface HTMLElementinterface HTMLElementinterface HTMLElementThe HTMLElement interface represents any HTML element. MDN Referenceinterface Fileinterface Fileinterface FileThe File interface provides information about files and allows JavaScript in a web page to access their content. MDN Referenceconst snapshot: WorkbookSnapshotconst snapshot: WorkbookSnapshotconst snapshot: WorkbookSnapshotAPI reference →file: Filelet file: Filelet file: FileBlob.arrayBuffer(): Promise<ArrayBuffer> (+1 overload)Blob.arrayBuffer(): Promise<ArrayBuffer> (+1 overload)Blob.arrayBuffer(): Promise<ArrayBuffer> (+1 overload)Returns a promise that resolves to the contents of the blob as an ArrayBufferhost: HTMLElementlet host: HTMLElementlet host: HTMLElementinterface 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 →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 →