import ExcelJs from "exceljs"; import { Excel } from "../common/index.js"; /** * 向xlsx写入的的数据对 */ export interface XlsxData { /** 在sheet中写入数据的位置 */ pos: string; /** 在该pos写的的数据的value */ value: number | string | null | (number | string | undefined)[][]; } /** * @description 调用python将数据写入到Excel * 需要 python 3.x 和 xlwings * @deprecated 已弃用 * @param path Excel的文件路径 * @param sheetName sheet的名称 * @param data 要写入的数据 */ export declare function writeDataToExcel( /** Excel文件路径 */ path: string, /** 要向哪个sheet写入数据 */ sheetName: string, /** 要写入的数据 */ data: XlsxData[]): Promise; /** * 用于获取sheet的函数,如果无法获取,就创建并获取 */ export declare type GetSheet = (sheetName: string) => ExcelJs.Worksheet; /** * 向Excel文档写入内容的函数 */ export declare type WriteData = ( /** * 要写入的data */ data: Excel.ExcelData, /** * 要在什么位置写入数据 */ pos?: Excel.RawInputPos, /** * 处理data和位置的函数 */ parser?: Excel.Parser, /** * 向哪个sheet名称,如果该sheet不存在,自动创建 */ sheet?: string) => void; /** * 用于操作Excel的工具 */ export interface ExcelHandlerTools { /** * 用于获取sheet的函数,如果无法获取,就创建并获取 */ getSheet: GetSheet; /** * 向Excel文档写入内容的函数 */ writeData: WriteData; /** * workbook实例 */ wb: ExcelJs.Workbook; } /** * 操作Excel的函数,待该函数执行完成会关闭Excel */ export declare type ExcelTask = ( /** * 用于操作Excel的工具 */ tools: ExcelHandlerTools) => Promise | any | void; /** * 使用ExcelJs读写Excel数据 * @param fileName 文件位置 * @param task 在excel关闭之前需要做的任务 * @param saveTo 保存文件位置,默认 和 filename 相同 */ export declare function handleExcel(fileName: string, task?: ExcelTask, saveTo?: string): Promise;