import XLSX from 'xlsx'; export { XLSX }; export declare function readExcel(file: File): Promise; export declare interface ErrorMsgDataItem { /** 错误id 由allData 的__importID__字段值 + "_" + field的值 表示哪一行的哪一列出错,行校验错误时候直接为allData 的__importID__ + "" */ errorId: string; /** 对应数据行 allData 的__importID__字段值 */ importID: number; /** 字段 */ field: string; /** 字段值 */ title: string; /** 字段值 */ value: string; /** 错误信息 */ errormessage: string; } export declare interface ImportResult { /** 所有导入的数据,如果有字典会格式化到字典,格式化错误的保持原始值 */ allData: any[]; /** 导入正确的数据 */ okData: any[]; /** 导入错误的数据 */ errorData: any[]; /** 导入错误数据的错误明细 */ errorMsgData: ErrorMsgDataItem[]; } /** 定义参数列 */ export declare interface Field { /** 字段 */ field: string; /** 字段名 */ title: string; /** 校验方法,校验通过返回true, 否则返回错误信息 会记录到错误列表里面 errorMsgData */ validate?: ((v: ValidateObject) => true | string) | string; /** 格式化,表格显示 */ formatter?: ((v: any) => any) | string; /** 导入格式化 返回null或者undefined 表示格式化错误,会记录到错误列表里面 errorMsgData */ importFormatter?: ((v: ValidateObject) => null | undefined | string | number) | string; /** 字典, 参与数据校验和表格显示格式化, 校验不通过的,会记录到错误列表里面 errorMsgData */ data?: any | { id: string | number; text: string; }; } /** 格式化及校验的参数 */ export declare interface ValidateObject { field: Field; ov: any; nv: any; rowIndex: number; data: any; rowDatas: any[]; } /** 行数据校验的参数 */ export declare interface RowValidateObject { fields: Field[]; data: any; rowIndex: number; rowDatas: any[]; } /** * 定义切口,可以在外部修改数据 */ export declare type AfterClientValidate = ((importResult: ImportResult, resolve: (value?: (ImportResult | PromiseLike | undefined)) => void) => ImportResult) | undefined; export declare function readExcelWithFieldSet(file: File, fieldSet: any[], dataStartRow?: number, titleRowNumber?: number, rowValidate?: ((rv: RowValidateObject) => true | string) | undefined, otherValidate?: AfterClientValidate): Promise; export declare interface ImportExcelOption { fields: Field[]; rowValidate?: ((rv: RowValidateObject) => true | string) | undefined; afterClientValidate?: AfterClientValidate; dataStartRow?: number; titleRowNumber?: number; onImportAfter?: (result: ImportResult) => {}; hidAllDataGrid?: boolean; hidOKDataGrid?: boolean; hidErrorDataGrid?: boolean; hidErrorMsgGrid?: boolean; dataGridPageSize?: 0 | 10 | 20 | 50 | 100 | 200 | 500 | 1000; errorMsgGridPageSize?: 0 | 10 | 20 | 50 | 100 | 200 | 500 | 1000; templateName?: string; dowLoadUrl?: string; title?: string; height?: string; width?: string; defaultShowData?: "allData" | "okData" | "errorData"; errMsgGridColWidths?: number[]; toolBar?: any[]; onClose?: string | (() => void); } /** * 打开excel导入的方法 * @param option 参数配置 * @param sender */