跳转到内容

本地 Excel 文件

本地 Excel 文件 是一个办公协同插件,以插件能力的形式出现在指令树「扩展能力」中。安装或内置加载后,可把插件里的节点拖到工作流画布使用。

插件标识:rpa-plugin-excel
插件分类:办公协同插件
节点数量:36 个

方式怎么用适合人群
可视化编排(推荐)在「扩展能力」中找到 本地 Excel 文件,拖入需要的节点并填写参数大多数用户,适合按表单配置插件能力
代码编排(执行指令 XML)通过「执行指令(XML)」调用节点的 type 与参数需要动态拼装、循环调用或批量处理的用户
  • 本地 .xlsx / .xlsm 文件操作(基于 exceljs,跨平台 Mac/Win/Linux,无需安装 Microsoft Excel)。覆盖工作簿管理(含新建空白工作簿 / 复制·重命名 Sheet)/ 单元格读写 / 查找定位 / 公式 / 格式 / 筛选 / 行列(含追加行)/ 数据清洗(去重·排序)/ 转换 共 36 个原子节点。所有节点 支持 handle 长链路 + filePath 单步两种模式,handle 模式下不会每次都重新 open/save,适合批量改写大文件。
  • 需要在自动化流程中复用该插件提供的读取、写入、同步或处理能力。
  • 该插件未声明独立连接,通常依赖当前浏览器登录态、本地文件或节点参数。
  • 办公协同类能力需要确认文件、表格、空间或数据库的访问权限。
  • 建议先运行连通性、查询或只读节点,确认权限和参数正确后再执行写入类节点。
本地 Excel 文件
节点名称节点标识说明
新建工作簿(Excel)CreateWorkbook从零新建一个空白 .xlsx 工作簿并写入磁盘。默认 keepOpen=true 会返回 handle,可直接接 SetCell / AppendRow / SaveAs 继续写。目标已存在且 overwrite=false 时报 FILE_EXISTS。适合「采集结果落到一个新表」这类场景。
打开工作簿(Excel)OpenWorkbook打开本地 .xlsx / .xlsm 文件,返回 workbook handle 与 sheets 列表。长链路批量改写时强烈推荐先 Open 拿 handle,否则每次 节点 都会重新 open/save 文件。
关闭工作簿(Excel)CloseWorkbook释放 OpenWorkbook 拿到的 handle。可选 save=true 在释放前写回源路径,等价于 SaveAs+Close 两步合并。
保存工作簿(Excel)SaveAs把工作簿写到磁盘。savePath 为空则写回 handle/filePath 的源路径;savePath 不空则另存为新文件(父目录会自动创建)。
列出 Sheet 页(Excel)ListSheets列出当前工作簿内全部 sheet 页(name + index + rowCount + columnCount + state)。
新建 Sheet 页(Excel)AddSheet在当前工作簿末尾新建一个 worksheet。同名 sheet 已存在会报 SHEET_NAME_DUPLICATE。
重命名 Sheet 页(Excel)RenameSheet重命名一个 worksheet。新名称与其它 sheet 重名会报 SHEET_NAME_DUPLICATE。
复制 Sheet 页(Excel)CopySheet在同一工作簿内复制一个 worksheet(含值 / 样式 / 合并单元格 / 行高列宽)。newName 留空时自动取「<源名> (2)」。常用于多表汇总时先复制模板页。
读取单元格(Excel)GetCell读取单个 cell 的值,自动展开公式 cell(返回 result)/ 富文本 / 超链接。
写入单元格(Excel)SetCell向单格写入值。value 支持字面(数字 / 字符串 / 布尔)/ null / JSON 数组对象 / { formula:“SUM(A1:A10)” } / { hyperlink:“https://…”, text:”…” }。
读取区域(Excel)GetRange读取一个矩形 / 整行 / 整列区域,返回二维数组。
写入区域(Excel)SetRange把 JSON 二维数组写到以 startCell 为左上角的区域。每行可不等长(按最长补 null)。
读取已用区域信息(Excel)GetUsedRange返回 sheet 当前的已用边界:行数 / 列数 / 最后一行 / 最后一列 / 已用区域地址 / 下一空行号。常配合 AppendRow、SetRange 定位「数据写到哪」。
查找单元格(Excel)FindCell在区域 / 整个 sheet 内查找匹配 value 的单元格,返回命中位置(地址 / 行号 / 列号 / 值)。matchMode 支持 eq/contains/startsWith/endsWith/regex;findAll=true 返回全部命中。常用于「定位某订单号在第几行」。
清空单元格 / 区域(Excel)ClearCell把区域内的 cell 值与公式清空。可选 alsoStyle=true 同时清掉字体 / 填充等样式。
合并 / 拆分单元格(Excel)MergeCells对一个区域执行 merge 或 unmerge。range 必须跨多格。
写入公式(Excel)SetFormula在单元格写入公式。exceljs 不会主动计算公式 —— result 字段会保持 undefined,需要用 Excel/WPS 打开后或 EvaluateFormula 才能读到值。
公式向下填充(Excel)FillDownFormula把源 cell 的公式按相对引用平移后向下填充 N 行。$A1 / A$1 / $A$1 的绝对引用会被保留。
公式向右填充(Excel)FillRightFormula把源 cell 的公式按相对引用平移后向右填充 N 列。
读取公式结果(Excel)EvaluateFormula读取公式 cell 的「上次计算结果」。注意:exceljs 不会重新计算公式,只能读出文件里上次 Excel 保存时缓存的 result。如果刚 SetFormula 还没用 Excel 打开过,evaluated 会是 false。
文本转数字(Excel)TextToNumber把区域内「看起来像数字的字符串」转成真数值。支持 “1,234.56” 千位分隔,自动去掉 numFmt=”@“。
数字转文本(Excel)NumberToText把区域内的数字 / 日期转成字符串,同时把 numFmt 设为 ”@“。
设置日期格式(Excel)SetDateFormat给区域 cell 设置日期 numFmt(默认 yyyy-mm-dd)。不做「字符串 → Date 类型」转换,请先 SetCell value=new Date(…) 再用本任务。
设置单元格样式(Excel)SetCellFormat通用样式入口:numFmt + font(bold/italic/size/color/name) + alignment(horizontal/vertical/wrapText) + fill(color/pattern)。color 接受 “#FF0000” 或 ARGB 8 位。
设置筛选(Excel)SetFilter在数据区域上设置 autoFilter,并按 filters 条件(多条件 AND)隐藏不匹配的数据行(首行视为表头)。op 支持 eq/ne/gt/gte/lt/lte/contains/startsWith/endsWith/in/notIn/empty/notEmpty。
清除筛选(Excel)ClearFilter清掉 worksheet 的 autoFilter,并把所有 row.hidden 设回 false。
读取可见行(Excel)GetFilteredRows返回 sheet 中所有 hidden=false 的行数据(跳过隐藏行)。常和 SetFilter 配对使用。
追加行(Excel)AppendRow把一行 / 多行数据追加到 sheet 已用区域末尾,自动定位末尾行。values 支持一维数组(单行)、二维数组(多行)、对象(按表头映射列)、对象数组。对象模式下若表头行为空,默认用对象 key 自动写表头。最常用于「采集一条数据写到结果表」。
插入行(Excel)InsertRows在 beforeRow 之前插入 count 个空行。exceljs spliceRows 会自动 shift 后续行与公式。
删除行(Excel)DeleteRows从 startRow 起删 count 行。
插入列(Excel)InsertColumns在 beforeColumn 之前插入 count 个空列。
删除列(Excel)DeleteColumns从 startColumn 起删 count 列。
删除重复行(Excel)RemoveDuplicateRows删除重复行(保留首次出现),删除的是整行(含区域外的列一并上移)。hasHeader=true 时首行表头不参与判重且始终保留。columns 指定判重依据的列(绝对列,如 “A,C”),缺省按区域内所有列判重。
区域排序(Excel)SortRange对区域按一个或多个列排序(整行搬运)。hasHeader=true 时首行表头保持在顶部。sortBy 为 JSON 数组,column 为绝对列(字母或数字),order asc/desc,numeric=true 按数值比。空白单元格升降序都沉底。⚠️ range 必须覆盖数据的所有列,否则区域外的列不会跟着重排会导致行内错位;公式列排序后相对引用不会重新调整,排序键建议用静态值。不迁移逐行样式 / 行高。
xlsx 转 CSV(Excel)XlsxToCsv把工作簿的某个 sheet 导出为 CSV。支持 utf8 / utf8-bom 编码、自定义分隔符;visibleOnly=true 时跳过筛选隐藏行。
CSV 转 xlsx(Excel)CsvToXlsx把 CSV 文件转成 xlsx。内置 RFC 4180 解析器,支持引号转义。hasHeader=true 时把首行设为粗体。
  • 节点标识: CreateWorkbook
  • 节点说明: 从零新建一个空白 .xlsx 工作簿并写入磁盘。默认 keepOpen=true 会返回 handle,可直接接 SetCell / AppendRow / SaveAs 继续写。目标已存在且 overwrite=false 时报 FILE_EXISTS。适合「采集结果落到一个新表」这类场景。
  • XML 示例:
<CreateWorkbook filePath="" sheetName="Sheet1" overwrite="false" keepOpen="true" outKey="workbook" />
界面名称代码属性名类型必填默认值说明
新文件路径filePathstring-/Users/xxx/result.xlsx 或 C:\result.xlsx
首个 Sheet 名称sheetNamestringSheet1
已存在则覆盖overwriteboolean-false 时若目标文件已存在会报错,避免误覆盖
保持打开并返回 handlekeepOpenbooleantruetrue → 输出 data.handle,可继续用 handle 批量写后再 SaveAs/CloseWorkbook
输出变量名outKeyoutputworkbook
失败时抛错failOnErrorbooleantrue

输出字段:

字段类型说明
workbookobject{ ok:true, data:{ handle?, filePath, sheets:[{name,index,rowCount,columnCount}] }, … }
  • 节点标识: OpenWorkbook
  • 节点说明: 打开本地 .xlsx / .xlsm 文件,返回 workbook handle 与 sheets 列表。长链路批量改写时强烈推荐先 Open 拿 handle,否则每次 节点 都会重新 open/save 文件。
  • XML 示例:
<OpenWorkbook filePath="" outKey="workbook" />
界面名称代码属性名类型必填默认值说明
Excel 文件路径filePathstring-/Users/xxx/data.xlsx 或 C:\data.xlsx
输出变量名outKeyoutputworkbook
失败时抛错failOnErrorbooleantrue

输出字段:

字段类型说明
workbookobject{ ok:true, data:{ handle, filePath, sheets:[{name,index,rowCount,columnCount}] }, durationMs } 或 { ok:false, error, code, category, hint? }
  • 节点标识: CloseWorkbook
  • 节点说明: 释放 OpenWorkbook 拿到的 handle。可选 save=true 在释放前写回源路径,等价于 SaveAs+Close 两步合并。
  • XML 示例:
<CloseWorkbook handle="" save="true" outKey="closed" />
界面名称代码属性名类型必填默认值说明
工作簿 handlehandlestring-OpenWorkbook 返回的 data.handle
释放前先保存saveboolean-
输出变量名outKeyoutputclosed
失败时抛错failOnErrorbooleantrue

输出字段:

字段类型说明
closedobject{ ok:true, data:{ handle, released, savedTo?, alreadyClosed? }, … }
  • 节点标识: SaveAs
  • 节点说明: 把工作簿写到磁盘。savePath 为空则写回 handle/filePath 的源路径;savePath 不空则另存为新文件(父目录会自动创建)。
  • XML 示例:
<SaveAs handle="" savePath="" outKey="savedWorkbook" />
界面名称代码属性名类型必填默认值说明
工作簿 handlehandlestring-与 filePath 二选一;handle 模式不会重新打开文件
源 Excel 文件路径filePathstring-无 handle 时使用;本任务会打开后立即保存
另存为目标路径savePathstring-为空则覆盖源路径
输出变量名outKeyoutputsavedWorkbook
失败时抛错failOnErrorbooleantrue

输出字段:

字段类型说明
savedWorkbookobject{ ok:true, data:{ savedTo, sourcePath, handle? }, … }
  • 节点标识: ListSheets
  • 节点说明: 列出当前工作簿内全部 sheet 页(name + index + rowCount + columnCount + state)。
  • XML 示例:
<ListSheets handle="" outKey="sheets" />
界面名称代码属性名类型必填默认值说明
工作簿 handlehandlestring-
Excel 文件路径filePathstring-
输出变量名outKeyoutputsheets
失败时抛错failOnErrorbooleantrue

输出字段:

字段类型说明
sheetsobject{ ok:true, data:{ sheets:[{name,index,rowCount,columnCount,state?}] }, … }
  • 节点标识: AddSheet
  • 节点说明: 在当前工作簿末尾新建一个 worksheet。同名 sheet 已存在会报 SHEET_NAME_DUPLICATE。
  • XML 示例:
<AddSheet handle="" sheetName="" activate="false" outKey="newSheet" />
界面名称代码属性名类型必填默认值说明
工作簿 handlehandlestring-
Excel 文件路径filePathstring-
新 Sheet 名称sheetNamestring-
设为活动 Sheetactivateboolean-
输出变量名outKeyoutputnewSheet
失败时抛错failOnErrorbooleantrue

输出字段:

字段类型说明
newSheetobject{ ok:true, data:{ name, index, handle? }, … }
  • 节点标识: RenameSheet
  • 节点说明: 重命名一个 worksheet。新名称与其它 sheet 重名会报 SHEET_NAME_DUPLICATE。
  • XML 示例:
<RenameSheet handle="" sheet="" newName="" outKey="renameSheetResult" />
界面名称代码属性名类型必填默认值说明
工作簿 handlehandlestring-
Excel 文件路径filePathstring-
当前 Sheet(名称或 0-indexed)sheetstring-
新名称newNamestring-
transient 模式自动保存autoSavebooleantrue
输出变量名outKeyoutputrenameSheetResult
失败时抛错failOnErrorbooleantrue

输出字段:

字段类型说明
renameSheetResultobject{ ok:true, data:{ oldName, newName, index }, … }
  • 节点标识: CopySheet
  • 节点说明: 在同一工作簿内复制一个 worksheet(含值 / 样式 / 合并单元格 / 行高列宽)。newName 留空时自动取「<源名> (2)」。常用于多表汇总时先复制模板页。
  • XML 示例:
<CopySheet handle="" sheet="" newName="" outKey="copySheetResult" />
界面名称代码属性名类型必填默认值说明
工作簿 handlehandlestring-
Excel 文件路径filePathstring-
源 Sheet(名称或 0-indexed)sheetstring-
目标 Sheet 名newNamestring-留空自动取唯一名「<源名> (2)」
transient 模式自动保存autoSavebooleantrue
输出变量名outKeyoutputcopySheetResult
失败时抛错failOnErrorbooleantrue

输出字段:

字段类型说明
copySheetResultobject{ ok:true, data:{ sourceName, newName, index }, … }
  • 节点标识: GetCell
  • 节点说明: 读取单个 cell 的值,自动展开公式 cell(返回 result)/ 富文本 / 超链接。
  • XML 示例:
<GetCell handle="" sheet="" cell="A1" outKey="cellValue" />
界面名称代码属性名类型必填默认值说明
工作簿 handlehandlestring-
Excel 文件路径filePathstring-
Sheet(名称或 0-indexed)sheetstring-缺省取第 1 个
单元格cellstring-A1
输出变量名outKeyoutputcellValue
失败时抛错failOnErrorbooleantrue

输出字段:

字段类型说明
cellValueobject{ ok:true, data:{ value, address, numFmt?, formula?, hyperlink? }, … }
  • 节点标识: SetCell
  • 节点说明: 向单格写入值。value 支持字面(数字 / 字符串 / 布尔)/ null / JSON 数组对象 / { formula:“SUM(A1:A10)” } / { hyperlink:“https://…”, text:”…” }。
  • XML 示例:
<SetCell handle="" sheet="" cell="A1" value="123" outKey="setCellResult" />
界面名称代码属性名类型必填默认值说明
工作簿 handlehandlestring-
Excel 文件路径filePathstring-
Sheetsheetstring-
单元格cellstring-A1
写入值valuestring-数字 / 字符串 / true|false|null / JSON 字面值
数字格式numFmtstring-可选;如 “0.00” / “yyyy-mm-dd” / ”@“(强制文本)
transient 模式自动保存autoSavebooleantrue仅在不传 handle 时生效;handle 模式必须显式 SaveAs/CloseWorkbook
输出变量名outKeyoutputsetCellResult
失败时抛错failOnErrorbooleantrue

输出字段:

字段类型说明
setCellResultobject{ ok:true, data:{ sheet, address, value, savedTo?, handle? }, … }
  • 节点标识: GetRange
  • 节点说明: 读取一个矩形 / 整行 / 整列区域,返回二维数组。
  • XML 示例:
<GetRange handle="" sheet="" range="A1:C10" outKey="rangeValues" />
界面名称代码属性名类型必填默认值说明
工作簿 handlehandlestring-
Excel 文件路径filePathstring-
Sheetsheetstring-
区域rangestring-A1:C10 / A1 / A:A / 3:5
包含 cell 元信息includeMetaboolean-true → values 每项是 {value, numFmt?, formula?, hyperlink?, address} 对象
按表头读成对象asObjectsboolean-true → 区域首行视为表头,其余行读成 { 表头:值 } 对象数组,循环里用 row[“订单号”] 更直观;与 includeMeta 互斥,本项优先
输出变量名outKeyoutputrangeValues
失败时抛错failOnErrorbooleantrue

输出字段:

字段类型说明
rangeValuesobjectasObjects=false:{ ok:true, data:{ sheet, range, rows, cols, values:二维数组 } };asObjects=true:{ ok:true, data:{ sheet, range, rows, cols, headers:[…], values:[{表头:值},…] } }
  • 节点标识: SetRange
  • 节点说明: 把 JSON 二维数组写到以 startCell 为左上角的区域。每行可不等长(按最长补 null)。
  • XML 示例:
<SetRange handle="" sheet="" startCell="A1" values="[[1,2],[3,4]]" outKey="setRangeResult" />
界面名称代码属性名类型必填默认值说明
工作簿 handlehandlestring-
Excel 文件路径filePathstring-
Sheetsheetstring-
起始单元格startCellstring-A1
二维数据valuesjson-[[“姓名”,“年龄”],[“张三”,18]]
transient 模式自动保存autoSavebooleantrue
输出变量名outKeyoutputsetRangeResult
失败时抛错failOnErrorbooleantrue

输出字段:

字段类型说明
setRangeResultobject{ ok:true, data:{ sheet, range, rows, cols, savedTo?, handle? }, … }
  • 节点标识: GetUsedRange
  • 节点说明: 返回 sheet 当前的已用边界:行数 / 列数 / 最后一行 / 最后一列 / 已用区域地址 / 下一空行号。常配合 AppendRow、SetRange 定位「数据写到哪」。
  • XML 示例:
<GetUsedRange handle="" sheet="" outKey="usedRange" />
界面名称代码属性名类型必填默认值说明
工作簿 handlehandlestring-
Excel 文件路径filePathstring-
Sheetsheetstring-
输出变量名outKeyoutputusedRange
失败时抛错failOnErrorbooleantrue

输出字段:

字段类型说明
usedRangeobject{ ok:true, data:{ sheet, isEmpty, rowCount, columnCount, lastRow, lastColumn, lastColumnNumber, usedRange, nextRow }, … }
  • 节点标识: FindCell
  • 节点说明: 在区域 / 整个 sheet 内查找匹配 value 的单元格,返回命中位置(地址 / 行号 / 列号 / 值)。matchMode 支持 eq/contains/startsWith/endsWith/regex;findAll=true 返回全部命中。常用于「定位某订单号在第几行」。
  • XML 示例:
<FindCell handle="" sheet="" value="" matchMode="eq" findAll="false" outKey="findResult" />
界面名称代码属性名类型必填默认值说明
工作簿 handlehandlestring-
Excel 文件路径filePathstring-
Sheetsheetstring-
查找目标valuestring-支持 JSON 字面:123 / “待处理” / true
查找区域rangestring-缺省取整个已用区域
匹配方式matchModeselecteq
区分大小写matchCaseboolean-
返回全部命中findAllboolean-false 只返回第一个命中
输出变量名outKeyoutputfindResult
失败时抛错failOnErrorbooleantrue

输出字段:

字段类型说明
findResultobject{ ok:true, data:{ found, count, first?:{address,row,col,value}, matches:[{address,row,col,value}] }, … }
  • 节点标识: ClearCell
  • 节点说明: 把区域内的 cell 值与公式清空。可选 alsoStyle=true 同时清掉字体 / 填充等样式。
  • XML 示例:
<ClearCell handle="" sheet="" range="A1:C10" alsoStyle="false" outKey="clearResult" />
界面名称代码属性名类型必填默认值说明
工作簿 handlehandlestring-
Excel 文件路径filePathstring-
Sheetsheetstring-
区域rangestring-A1:C10
同时清掉样式alsoStyleboolean-
transient 模式自动保存autoSavebooleantrue
输出变量名outKeyoutputclearResult
失败时抛错failOnErrorbooleantrue

输出字段:

字段类型说明
clearResultobject{ ok:true, data:{ sheet, range, clearedCells, savedTo?, handle? }, … }
  • 节点标识: MergeCells
  • 节点说明: 对一个区域执行 merge 或 unmerge。range 必须跨多格。
  • XML 示例:
<MergeCells handle="" sheet="" range="A1:C1" action="merge" outKey="mergeResult" />
界面名称代码属性名类型必填默认值说明
工作簿 handlehandlestring-
Excel 文件路径filePathstring-
Sheetsheetstring-
区域rangestring-A1:C1
操作actionselectmerge
transient 模式自动保存autoSavebooleantrue
输出变量名outKeyoutputmergeResult
失败时抛错failOnErrorbooleantrue

输出字段:

字段类型说明
mergeResultobject{ ok:true, data:{ sheet, range, action }, … }
  • 节点标识: SetFormula
  • 节点说明: 在单元格写入公式。exceljs 不会主动计算公式 —— result 字段会保持 undefined,需要用 Excel/WPS 打开后或 EvaluateFormula 才能读到值。
  • XML 示例:
<SetFormula handle="" sheet="" cell="A1" formula="SUM(B1:B10)" outKey="setFormulaResult" />
界面名称代码属性名类型必填默认值说明
工作簿 handlehandlestring-
Excel 文件路径filePathstring-
Sheetsheetstring-
单元格cellstring-A1
公式formulastring-可带 / 不带 leading ’=‘
transient 模式自动保存autoSavebooleantrue
输出变量名outKeyoutputsetFormulaResult
失败时抛错failOnErrorbooleantrue

输出字段:

字段类型说明
setFormulaResultobject{ ok:true, data:{ sheet, address, formula }, … }
  • 节点标识: FillDownFormula
  • 节点说明: 把源 cell 的公式按相对引用平移后向下填充 N 行。$A1 / A$1 / $A$1 的绝对引用会被保留。
  • XML 示例:
<FillDownFormula handle="" sheet="" sourceCell="C2" targetRows="100" outKey="fillDownResult" />
界面名称代码属性名类型必填默认值说明
工作簿 handlehandlestring-
Excel 文件路径filePathstring-
Sheetsheetstring-
源单元格sourceCellstring-已经包含公式的格
向下填充行数targetRowsnumber110
transient 模式自动保存autoSavebooleantrue
输出变量名outKeyoutputfillDownResult
失败时抛错failOnErrorbooleantrue

输出字段:

字段类型说明
fillDownResultobject{ ok:true, data:{ sheet, sourceCell, formulaTemplate, filledCells:[“C3”,…] }, … }
  • 节点标识: FillRightFormula
  • 节点说明: 把源 cell 的公式按相对引用平移后向右填充 N 列。
  • XML 示例:
<FillRightFormula handle="" sheet="" sourceCell="B3" targetCols="10" outKey="fillRightResult" />
界面名称代码属性名类型必填默认值说明
工作簿 handlehandlestring-
Excel 文件路径filePathstring-
Sheetsheetstring-
源单元格sourceCellstring-B3
向右填充列数targetColsnumber1
transient 模式自动保存autoSavebooleantrue
输出变量名outKeyoutputfillRightResult
失败时抛错failOnErrorbooleantrue

输出字段:

字段类型说明
fillRightResultobject{ ok:true, data:{ sheet, sourceCell, formulaTemplate, filledCells:[“C3”,“D3”,…] }, … }
  • 节点标识: EvaluateFormula
  • 节点说明: 读取公式 cell 的「上次计算结果」。注意:exceljs 不会重新计算公式,只能读出文件里上次 Excel 保存时缓存的 result。如果刚 SetFormula 还没用 Excel 打开过,evaluated 会是 false。
  • XML 示例:
<EvaluateFormula handle="" sheet="" cell="A1" outKey="formulaResult" />
界面名称代码属性名类型必填默认值说明
工作簿 handlehandlestring-
Excel 文件路径filePathstring-
Sheetsheetstring-
单元格cellstring-A1
输出变量名outKeyoutputformulaResult
失败时抛错failOnErrorbooleantrue

输出字段:

字段类型说明
formulaResultobject{ ok:true, data:{ sheet, address, formula, result, evaluated }, … }
  • 节点标识: TextToNumber
  • 节点说明: 把区域内「看起来像数字的字符串」转成真数值。支持 “1,234.56” 千位分隔,自动去掉 numFmt=”@”。
  • XML 示例:
<TextToNumber handle="" sheet="" range="B2:B100" outKey="textToNumberResult" />
界面名称代码属性名类型必填默认值说明
工作簿 handlehandlestring-
Excel 文件路径filePathstring-
Sheetsheetstring-
区域rangestring-B2:B100
transient 模式自动保存autoSavebooleantrue
输出变量名outKeyoutputtextToNumberResult
失败时抛错failOnErrorbooleantrue

输出字段:

字段类型说明
textToNumberResultobject{ ok:true, data:{ sheet, range, convertedCells, skippedCells }, … }
  • 节点标识: NumberToText
  • 节点说明: 把区域内的数字 / 日期转成字符串,同时把 numFmt 设为 ”@”。
  • XML 示例:
<NumberToText handle="" sheet="" range="B2:B100" outKey="numberToTextResult" />
界面名称代码属性名类型必填默认值说明
工作簿 handlehandlestring-
Excel 文件路径filePathstring-
Sheetsheetstring-
区域rangestring-
transient 模式自动保存autoSavebooleantrue
输出变量名outKeyoutputnumberToTextResult
失败时抛错failOnErrorbooleantrue

输出字段:

字段类型说明
numberToTextResultobject{ ok:true, data:{ sheet, range, convertedCells, skippedCells }, … }
  • 节点标识: SetDateFormat
  • 节点说明: 给区域 cell 设置日期 numFmt(默认 yyyy-mm-dd)。不做「字符串 → Date 类型」转换,请先 SetCell value=new Date(…) 再用本任务。
  • XML 示例:
<SetDateFormat handle="" sheet="" range="C2:C100" format="yyyy-mm-dd" outKey="setDateFormatResult" />
界面名称代码属性名类型必填默认值说明
工作簿 handlehandlestring-
Excel 文件路径filePathstring-
Sheetsheetstring-
区域rangestring-
日期格式串formatstringyyyy-mm-dd常用:yyyy-mm-dd hh:mm:ss / yyyy/m/d / m/d/yyyy / yyyy年m月d日
transient 模式自动保存autoSavebooleantrue
输出变量名outKeyoutputsetDateFormatResult
失败时抛错failOnErrorbooleantrue

输出字段:

字段类型说明
setDateFormatResultobject{ ok:true, data:{ sheet, range, format, affectedCells }, … }
  • 节点标识: SetCellFormat
  • 节点说明: 通用样式入口:numFmt + font(bold/italic/size/color/name) + alignment(horizontal/vertical/wrapText) + fill(color/pattern)。color 接受 “#FF0000” 或 ARGB 8 位。
  • XML 示例:
<SetCellFormat handle="" sheet="" range="A1:E1" font='&#123;"bold":true,"color":"#FFFFFF"&#125;' fill='&#123;"color":"#1F77B4"&#125;' alignment='&#123;"horizontal":"center"&#125;' outKey="setCellFormatResult" />
界面名称代码属性名类型必填默认值说明
工作簿 handlehandlestring-
Excel 文件路径filePathstring-
Sheetsheetstring-
区域rangestring-
数字格式numFmtstring-如 0.00 / @ / 0.00% / yyyy-mm-dd
font 样式 (JSON)fontjson-{“bold”:true,“size”:12,“color”:“#000000”}
alignment 样式 (JSON)alignmentjson-{“horizontal”:“center”,“vertical”:“middle”,“wrapText”:true}
fill 样式 (JSON)filljson-{“color”:“#1F77B4”}
transient 模式自动保存autoSavebooleantrue
输出变量名outKeyoutputsetCellFormatResult
失败时抛错failOnErrorbooleantrue

输出字段:

字段类型说明
setCellFormatResultobject{ ok:true, data:{ sheet, range, affectedCells, applied:{numFmt?,font?,alignment?,fill?} }, … }
  • 节点标识: SetFilter
  • 节点说明: 在数据区域上设置 autoFilter,并按 filters 条件(多条件 AND)隐藏不匹配的数据行(首行视为表头)。op 支持 eq/ne/gt/gte/lt/lte/contains/startsWith/endsWith/in/notIn/empty/notEmpty。
  • XML 示例:
<SetFilter handle="" sheet="" range="A1:F100" filters='[&#123;"column":"C","op":"eq","value":"待处理"&#125;]' outKey="setFilterResult" />
界面名称代码属性名类型必填默认值说明
工作簿 handlehandlestring-
Excel 文件路径filePathstring-
Sheetsheetstring-
数据区域(含表头)rangestring-A1:F100
筛选条件 (JSON 数组)filtersjson-[{“column”:“C”,“op”:“in”,“value”:[“待处理”,“进行中”]}]
transient 模式自动保存autoSavebooleantrue
输出变量名outKeyoutputsetFilterResult
失败时抛错failOnErrorbooleantrue

输出字段:

字段类型说明
setFilterResultobject{ ok:true, data:{ sheet, range, hiddenRows, visibleRows, rules }, … }
  • 节点标识: ClearFilter
  • 节点说明: 清掉 worksheet 的 autoFilter,并把所有 row.hidden 设回 false。
  • XML 示例:
<ClearFilter handle="" sheet="" outKey="clearFilterResult" />
界面名称代码属性名类型必填默认值说明
工作簿 handlehandlestring-
Excel 文件路径filePathstring-
Sheetsheetstring-
transient 模式自动保存autoSavebooleantrue
输出变量名outKeyoutputclearFilterResult
失败时抛错failOnErrorbooleantrue

输出字段:

字段类型说明
clearFilterResultobject{ ok:true, data:{ sheet, restoredRows }, … }
  • 节点标识: GetFilteredRows
  • 节点说明: 返回 sheet 中所有 hidden=false 的行数据(跳过隐藏行)。常和 SetFilter 配对使用。
  • XML 示例:
<GetFilteredRows handle="" sheet="" range="A1:F100" outKey="visibleRows" />
界面名称代码属性名类型必填默认值说明
工作簿 handlehandlestring-
Excel 文件路径filePathstring-
Sheetsheetstring-
数据区域rangestring-缺省取整个 worksheet
返回表头行includeHeaderbooleantrue
输出变量名outKeyoutputvisibleRows
失败时抛错failOnErrorbooleantrue

输出字段:

字段类型说明
visibleRowsobject{ ok:true, data:{ sheet, range, headerRow?, rows:二维数组, total }, … }
  • 节点标识: AppendRow
  • 节点说明: 把一行 / 多行数据追加到 sheet 已用区域末尾,自动定位末尾行。values 支持一维数组(单行)、二维数组(多行)、对象(按表头映射列)、对象数组。对象模式下若表头行为空,默认用对象 key 自动写表头。最常用于「采集一条数据写到结果表」。
  • XML 示例:
<AppendRow handle="" sheet="" values="[1,2,3]" outKey="appendRowResult" />
界面名称代码属性名类型必填默认值说明
工作簿 handlehandlestring-
Excel 文件路径filePathstring-
Sheetsheetstring-
追加数据valuesjson-一维数组=单行;二维数组=多行;对象/对象数组=按表头映射列
表头所在行headerRownumber1仅对象模式生效:据此行表头决定每个 key 落到哪一列
表头为空时自动写表头writeHeaderIfEmptybooleantrue仅对象模式生效:表头行为空时用对象 key 自动写一行表头
transient 模式自动保存autoSavebooleantrue
输出变量名outKeyoutputappendRowResult
失败时抛错failOnErrorbooleantrue

输出字段:

字段类型说明
appendRowResultobject{ ok:true, data:{ sheet, startRow, appendedRows, cols, range }, … }
  • 节点标识: InsertRows
  • 节点说明: 在 beforeRow 之前插入 count 个空行。exceljs spliceRows 会自动 shift 后续行与公式。
  • XML 示例:
<InsertRows handle="" sheet="" beforeRow="3" count="1" outKey="insertRowsResult" />
界面名称代码属性名类型必填默认值说明
工作簿 handlehandlestring-
Excel 文件路径filePathstring-
Sheetsheetstring-
插入位置(1-indexed)beforeRownumber-3
数量countnumber1
transient 模式自动保存autoSavebooleantrue
输出变量名outKeyoutputinsertRowsResult
失败时抛错failOnErrorbooleantrue

输出字段:

字段类型说明
insertRowsResultobject{ ok:true, data:{ sheet, beforeRow, count }, … }
  • 节点标识: DeleteRows
  • 节点说明: 从 startRow 起删 count 行。
  • XML 示例:
<DeleteRows handle="" sheet="" startRow="3" count="1" outKey="deleteRowsResult" />
界面名称代码属性名类型必填默认值说明
工作簿 handlehandlestring-
Excel 文件路径filePathstring-
Sheetsheetstring-
起始行(1-indexed)startRownumber-
数量countnumber1
transient 模式自动保存autoSavebooleantrue
输出变量名outKeyoutputdeleteRowsResult
失败时抛错failOnErrorbooleantrue

输出字段:

字段类型说明
deleteRowsResultobject{ ok:true, data:{ sheet, startRow, count, removed }, … }
  • 节点标识: InsertColumns
  • 节点说明: 在 beforeColumn 之前插入 count 个空列。
  • XML 示例:
<InsertColumns handle="" sheet="" beforeColumn="C" count="1" outKey="insertColumnsResult" />
界面名称代码属性名类型必填默认值说明
工作簿 handlehandlestring-
Excel 文件路径filePathstring-
Sheetsheetstring-
插入位置(列字母或 1-indexed)beforeColumnstring-C 或 3
数量countnumber1
transient 模式自动保存autoSavebooleantrue
输出变量名outKeyoutputinsertColumnsResult
失败时抛错failOnErrorbooleantrue

输出字段:

字段类型说明
insertColumnsResultobject{ ok:true, data:{ sheet, beforeColumn, count }, … }
  • 节点标识: DeleteColumns
  • 节点说明: 从 startColumn 起删 count 列。
  • XML 示例:
<DeleteColumns handle="" sheet="" startColumn="C" count="1" outKey="deleteColumnsResult" />
界面名称代码属性名类型必填默认值说明
工作簿 handlehandlestring-
Excel 文件路径filePathstring-
Sheetsheetstring-
起始列(字母或 1-indexed)startColumnstring-C 或 3
数量countnumber1
transient 模式自动保存autoSavebooleantrue
输出变量名outKeyoutputdeleteColumnsResult
失败时抛错failOnErrorbooleantrue

输出字段:

字段类型说明
deleteColumnsResultobject{ ok:true, data:{ sheet, startColumn, count, removed }, … }
  • 节点标识: RemoveDuplicateRows
  • 节点说明: 删除重复行(保留首次出现),删除的是整行(含区域外的列一并上移)。hasHeader=true 时首行表头不参与判重且始终保留。columns 指定判重依据的列(绝对列,如 “A,C”),缺省按区域内所有列判重。
  • XML 示例:
<RemoveDuplicateRows handle="" sheet="" range="" hasHeader="true" columns="" outKey="removeDuplicateResult" />
界面名称代码属性名类型必填默认值说明
工作簿 handlehandlestring-
Excel 文件路径filePathstring-
Sheetsheetstring-
数据区域rangestring-缺省取整个已用区域
首行为表头hasHeaderbooleantrue
判重依据列columnsstring-绝对列,逗号分隔,如 A,C 或 1,3;缺省用区域内所有列
transient 模式自动保存autoSavebooleantrue
输出变量名outKeyoutputremoveDuplicateResult
失败时抛错failOnErrorbooleantrue

输出字段:

字段类型说明
removeDuplicateResultobject{ ok:true, data:{ sheet, removed, kept, removedRows:[行号…] }, … }
  • 节点标识: SortRange
  • 节点说明: 对区域按一个或多个列排序(整行搬运)。hasHeader=true 时首行表头保持在顶部。sortBy 为 JSON 数组,column 为绝对列(字母或数字),order asc/desc,numeric=true 按数值比。空白单元格升降序都沉底。⚠️ range 必须覆盖数据的所有列,否则区域外的列不会跟着重排会导致行内错位;公式列排序后相对引用不会重新调整,排序键建议用静态值。不迁移逐行样式 / 行高。
  • XML 示例:
<SortRange handle="" sheet="" range="A1:F100" hasHeader="true" sortBy='[&#123;"column":"B","order":"desc","numeric":true&#125;]' outKey="sortResult" />
界面名称代码属性名类型必填默认值说明
工作簿 handlehandlestring-
Excel 文件路径filePathstring-
Sheetsheetstring-
数据区域rangestring-A1:F100
首行为表头hasHeaderbooleantrue
排序规则 (JSON 数组)sortByjson-[{“column”:“B”,“order”:“desc”,“numeric”:true}]
transient 模式自动保存autoSavebooleantrue
输出变量名outKeyoutputsortResult
失败时抛错failOnErrorbooleantrue

输出字段:

字段类型说明
sortResultobject{ ok:true, data:{ sheet, range, sortedRows, sortBy }, … }
  • 节点标识: XlsxToCsv
  • 节点说明: 把工作簿的某个 sheet 导出为 CSV。支持 utf8 / utf8-bom 编码、自定义分隔符;visibleOnly=true 时跳过筛选隐藏行。
  • XML 示例:
<XlsxToCsv filePath="" sheet="" csvPath="" encoding="utf8" delimiter="," visibleOnly="false" outKey="csvFile" />
界面名称代码属性名类型必填默认值说明
工作簿 handlehandlestring-
源 Excel 文件路径filePathstring-
Sheetsheetstring-缺省取第 1 个 sheet
输出 CSV 路径csvPathstring-/path/to/output.csv
编码encodingselectutf8
分隔符delimiterstring,默认逗号;Tab 分隔填 \t
只导出可见行visibleOnlyboolean-true 时跳过 row.hidden=true 的行,常用于 SetFilter 后导出筛选结果
输出变量名outKeyoutputcsvFile
失败时抛错failOnErrorbooleantrue

输出字段:

字段类型说明
csvFileobject{ ok:true, data:{ csvPath, sheet, rows, encoding, visibleOnly }, … }
  • 节点标识: CsvToXlsx
  • 节点说明: 把 CSV 文件转成 xlsx。内置 RFC 4180 解析器,支持引号转义。hasHeader=true 时把首行设为粗体。
  • XML 示例:
<CsvToXlsx csvPath="" xlsxPath="" sheetName="Sheet1" delimiter="," hasHeader="false" outKey="xlsxFile" />
界面名称代码属性名类型必填默认值说明
源 CSV 路径csvPathstring-
输出 xlsx 路径xlsxPathstring-
Sheet 名sheetNamestringSheet1
分隔符delimiterstring,
编码encodingstringutf8暂仅支持 utf8(含 BOM 自动剥)
首行表头(加粗)hasHeaderboolean-
输出变量名outKeyoutputxlsxFile
失败时抛错failOnErrorbooleantrue

输出字段:

字段类型说明
xlsxFileobject{ ok:true, data:{ xlsxPath, sheetName, rows, cols }, … }
  • 节点运行状态为成功。
  • 输出变量中包含预期字段,且可被下游节点引用。
  • 对外部系统有写入动作的节点,目标系统中的数据状态与配置一致。
现象 / 报错可能原因处理建议
找不到插件分组插件未安装、未加载或当前端不是桌面客户端在「扩展能力」中刷新/重新扫描插件,必要时重启客户端。
连接或鉴权失败连接配置缺失、令牌过期或权限不足重新配置连接,确认账号具备对应资源权限。
查询结果为空筛选条件过窄、目标资源为空或页面状态不正确放宽条件,检查资源 ID、日期范围和页面登录态。
写入类操作失败参数格式不符合平台要求或目标资源不可写先用少量测试数据验证,再检查必填字段、ID 和权限。
  • 插件能力由桌面端扩展能力机制加载,和普通后端指令树不是同一数据源。
  • 插件页按插件维度整理;每个节点的帮助入口会跳到所属插件页,页面内可查节点标识、参数和输出。