UNPKG

excel-csv-read-write

Version:
121 lines 6.48 kB
import XlsxPopulate from 'xlsx-populate'; import { Converters, CSVData } from './data'; type Option = { startIndex?: number; useHeader?: boolean; columnStartIndex?: number; columnEndIndex?: number; }; type ExcelProps = { filePath: string; sheetName?: string; formatFunc?: (instance: CSVData) => CSVData; option?: Option; }; type CSVProps = { filePath: string; encoding?: string; }; export declare const excel2json2: (props: ExcelProps) => Promise<unknown[]>; export declare const csv2json2: (props: CSVProps) => Promise<unknown[]>; /** * Excelファイルを読み込み、各行をデータとして配列で返すメソッド。 * @param path Excelファイルパス * @param sheet シート名 * @param sheetName * @param formatFunc フォーマット関数。instanceは各行データが入ってくるので、任意に整形して返せばよい */ export declare const excel2json: (inputFullPath: string, sheetName?: string, formatFunc?: (instance: CSVData) => CSVData, option?: Option) => Promise<unknown[]>; /** * Excelファイルを読み込み、各行をデータとして配列で返すメソッド。 * @param stream * @param sheetName * @param format_func フォーマット関数。instanceは各行データが入ってくるので、任意に整形して返せばよい */ export declare const excelStream2json: (stream: NodeJS.ReadableStream, sheetName?: string, formatFunc?: (instance: CSVData) => CSVData, option?: Option) => Promise<unknown[]>; /** * Excelファイルを読み込み、各行をデータとして配列で返すメソッド。 * @param stream * @param sheetName * @param formatFunc フォーマット関数。instanceは各行データが入ってくるので、任意に整形して返せばよい */ export declare const excelData2json: (workbook: XlsxPopulate.Workbook, sheetName?: string, formatFunc?: (instance: CSVData) => CSVData, option?: Option) => CSVData[]; export declare const data2json: (allValuesArray: unknown[][], formatFunc?: (instance: CSVData) => CSVData, option?: Option) => CSVData[]; /** * * @param buffer * @returns */ export declare const excelFromArrayBuffer: (buffer: ArrayBuffer) => Promise<XlsxPopulate.Workbook>; /** * ExcelデータをArrayBufferとして受け取って、各行をデータとして配列で返すメソッド。 * @param buffer * @param sheetName * @param formatFunc * @param formatFunc フォーマット関数。instanceは各行データが入ってくるので、任意に整形して返せばよい */ export declare const excelBuffer2json: (buffer: ArrayBuffer, sheetName?: string, formatFunc?: (instance: CSVData) => CSVData, option?: Option) => Promise<CSVData[]>; /** * 指定したパスのcsvファイルをロードして、JSONオブジェクトとしてparseする。 * 全行読み込んだら完了する Promise を返す。 * @param filePath */ export declare const csv2json: (filePath: string, encoding?: string) => Promise<unknown[]>; /** * 指定したパスのcsvファイルをロードして、JSONオブジェクトとしてparseする。 * 全行読み込んだら完了する Promise を返す。 * @param fs */ export declare const csvStream2json: (stream: NodeJS.ReadableStream, encoding?: string) => Promise<unknown[]>; /** * 引数のJSON配列を、指定したテンプレートを用いて、指定したファイルに出力します。 * @param instances JSON配列 * @param outputFullPath 出力Excelのパス * @param templateFullPath 元にするテンプレートExcelのパス * @param sheetName テンプレートExcelのシート名(シート名で出力する) * @param applyStyles 出力時のExcelを書式フォーマットしたい場合に使用する。 */ export declare const json2excel: (instances: unknown[], outputFullPath: string, templateFullPath?: string, sheetName?: string, converters?: Converters, applyStyles?: (instances: unknown[], workbook: XlsxPopulate.Workbook, sheetName: string) => void) => Promise<string>; export declare const createWorkbook: (path?: string) => Promise<XlsxPopulate.Workbook>; export declare const toFileAsync: (workbook: XlsxPopulate.Workbook, path: string) => Promise<void>; /** * 引数のJSON配列を、指定したテンプレートを用いて、指定したファイルに出力します。 * @param instances JSON配列 * @param templateFullPath 元にするテンプレートExcelのパス * @param sheetName テンプレートExcelのシート名(シート名で出力する) * @param applyStyles 出力時のExcelを書式フォーマットしたい場合に使用する。 */ export declare const json2workbook: (arg: { instances: unknown[]; workbook: XlsxPopulate.Workbook; sheetName?: string; converters?: Converters; headerConverter?: (headings: string[]) => unknown[]; applyStyles?: (instances: unknown[], workbook: XlsxPopulate.Workbook, sheetName: string) => void; columnSortOrder?: (a: string, b: string) => number; }) => XlsxPopulate.Workbook; /** * 引数のJSON配列を、指定したテンプレートを用いて、指定したファイルに出力します。 * @param instances JSON配列 * @param sheetName テンプレートExcelのシート名(シート名で出力する) * @param applyStyles 出力時のExcelを書式フォーマットしたい場合に使用する。 */ export declare const json2excelBlob: (instances: unknown[], sheetName?: string, converters?: Converters, applyStyles?: (instances: unknown[], workbook: XlsxPopulate.Workbook, sheetName: string) => void) => Promise<Blob>; /** * Excelのシリアル値を、Dateへ変換します。 * @param serialNumber シリアル値 */ export declare const dateFromSn: (serialNumber: number) => Date; export declare const date2Sn: (date: Date) => number; export declare const toBoolean: (boolStr: string | boolean) => boolean; export declare const getHeaders: (workbook: XlsxPopulate.Workbook, sheetName: string, option?: Option) => string[]; /** * 二次元配列の先頭行をとって、それをヘッダ列として返す * @param instanceArray * @returns */ export declare const getHeaders2: (instanceArray: unknown[][]) => string[]; export declare const getValuesArray: (workbook: XlsxPopulate.Workbook, sheetName: string) => unknown[][]; export declare const createHeaderFromInstances: (instances: unknown[]) => string[]; export {}; //# sourceMappingURL=commonUtils.d.ts.map