json-as-xlsx-styled
Version:
Create excel xlsx file from json
38 lines (37 loc) • 1.56 kB
TypeScript
/// <reference types="node" />
import { utils, WorkBook, WorkSheet, WritingOptions } from "xlsx-js-style";
export interface IColumn {
label: string;
value: string | ((value: IContent) => string | number | boolean | Date | IContent | null);
format?: string;
}
export interface IContent {
[key: string]: string | number | boolean | Date | IContent | null;
}
export interface IJsonSheet {
sheet?: string;
columns: IColumn[];
content: IContent[];
}
export interface ISettings {
extraLength?: number;
fileName?: string;
writeOptions?: WritingOptions;
writeMode?: string;
RTL?: boolean;
}
export interface IJsonSheetRow {
[key: string]: string | number | boolean | Date | IContent | null;
}
export interface IWorksheetColumnWidth {
width: number;
}
export type IWorkbookCallback = (workbook: WorkBook) => void;
export { utils, WorkBook, WorkSheet };
export declare const getContentProperty: (content: IContent, property: string) => string | number | boolean | Date | IContent;
export declare const getJsonSheetRow: (content: IContent, columns: IColumn[]) => IJsonSheetRow;
export declare const getWorksheetColumnWidths: (worksheet: WorkSheet, extraLength?: number) => IWorksheetColumnWidth[];
declare const writeWorkbook: (workbook: WorkBook, settings?: ISettings) => Buffer | undefined;
export declare const xlsx: (jsonSheets: IJsonSheet[], settings?: ISettings, workbookCallback?: IWorkbookCallback) => ReturnType<typeof writeWorkbook>;
export default xlsx;
export declare const libraryName = "json-as-xlsx";