UNPKG

json-as-xlsx-styled

Version:

Create excel xlsx file from json

38 lines (37 loc) 1.56 kB
/// <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";