amotify-ex-spreadsheet
Version:
amotify spreadsheet extension
52 lines (51 loc) • 1.4 kB
TypeScript
import { Input } from 'amotify/@fn';
declare global {
var ExcelJS: any;
}
declare namespace SpreadSheet {
interface Instance {
fn: Class;
prototype: Class;
(v: any, a: string): any;
}
interface Class {
isValid(): boolean;
getWorkbook(): any;
updateFileName(fileName: string): void;
updateMerges(merges: Merge[][]): void;
updateStyles(styles: Style[][]): void;
toJson(): {
fileName: string;
sheets: {
sheetName: string;
rows: any[];
}[];
};
export(type?: 'xlsx' | 'csv'): void;
}
type Json = {
fileName: string;
sheets: Sheet[];
};
type Sheet = {
sheetName: string;
rows: Row[];
merges?: Merge[];
styles?: Style[];
};
type Row = (string | number)[];
type Merge = [string, string] | [null, null];
type Style = {
type: 'cell' | 'row' | 'column';
target: string | number | (string | number)[];
values: {
[key: string]: any;
};
};
type Methods = {
readFromFile(file: Input.Filer.CustomFile): Promise<SpreadSheet.Class>;
readFromJson(v: SpreadSheet.Json): Promise<SpreadSheet.Class>;
};
}
declare const SpreadSheet: SpreadSheet.Methods;
export { SpreadSheet, SpreadSheet as default };