excel-csv-read-write
Version:
Excel and CSV read write utility.
121 lines • 6.48 kB
TypeScript
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