# autos.skills.excel 库模块帮助文档

## autos.skills.excel 成员列表 <a id="autos.skills.excel" href="#autos.skills.excel">&#x23;</a>

Excel 读取、查询、有限原生生成与既有普通 XLSX 受控编辑；保存值/结构/查询可用原生，精确显示/重算/复杂写入走 COM。  
inspectXlsx/queryXlsx/findXlsxCells 需要 fsys.openXml 0.15.0+；writeXlsx 仅在调用时加载 builder；openXlsxEditor 仅在调用时加载受控 editor，支持 getCell/getRange/setCell/setRange/save/close，不计算公式。  
旧 COM、SQL 与 auto 优先级不变。

### autos.skills.excel.createWorkbook(startIfMissing,visible) <a id="autos.skills.excel.createWorkbook" href="#autos.skills.excel.createWorkbook">&#x23;</a>
新建工作簿并返回 Workbook COM 对象。

### autos.skills.excel.extractTextFromXlsx(path,options) <a id="autos.skills.excel.extractTextFromXlsx" href="#autos.skills.excel.extractTextFromXlsx">&#x23;</a>
抽取已保存值文本，保留稀疏空格/行列分隔与旧 sheets 字段。  
默认文本展开上限16MiB，不是流式读取；失败 null,err。

### autos.skills.excel.extractXlsxMedia(path,outputDir,overwrite=true,options) <a id="autos.skills.excel.extractXlsxMedia" href="#autos.skills.excel.extractXlsxMedia">&#x23;</a>
兼容旧默认覆盖；false/0 不覆盖。  
成功返回文件数组，第三值为原生明细；失败 null,err,partial。  
CRC/限额校验后逐文件提交，同名预检，不是整批事务。

### autos.skills.excel.findXlsxCells(path,sheet,options) <a id="autos.skills.excel.findXlsxCells" href="#autos.skills.excel.findXlsxCells">&#x23;</a>
原生按保存值/公式正文查找，target=value/formula，op/value结构化匹配。  
只扫描已存储c节点，不枚举不存在的空格；maxScanCells与limit分开。

### autos.skills.excel.getApp(startIfMissing,visible,alerts) <a id="autos.skills.excel.getApp" href="#autos.skills.excel.getApp">&#x23;</a>
获取或创建 com.excel 对象，返回值可继续使用 Excel COM / VBA API。

### autos.skills.excel.inspectXlsx(path,options) <a id="autos.skills.excel.inspectXlsx" href="#autos.skills.excel.inspectXlsx">&#x23;</a>
原生结构与有界预览，默认20表/20行/20列；含全页存储格统计、表头候选、合并/隐藏/表/名称。  
直接转发 fsys.openXml.xlsx.inspectWorkbook，数字限额0为不取。

### autos.skills.excel.listSheets(book) <a id="autos.skills.excel.listSheets" href="#autos.skills.excel.listSheets">&#x23;</a>
列出工作表信息数组。

### autos.skills.excel.listXlsxEntries(path,pattern,options) <a id="autos.skills.excel.listXlsxEntries" href="#autos.skills.excel.listXlsxEntries">&#x23;</a>
识别工作簿并列真实 ZIP 条目；兼容 path,isDir,size,formattedSize。

### autos.skills.excel.listXlsxMedia(path,options) <a id="autos.skills.excel.listXlsxMedia" href="#autos.skills.excel.listXlsxMedia">&#x23;</a>
列 xl/media/ 和实际主部件同级 media/，含子目录，不含目录项。  
保留 path,name,ext,size,formattedSize；不构建完整媒体关系图。

### autos.skills.excel.listXlsxSheets(path,options) <a id="autos.skills.excel.listXlsxSheets" href="#autos.skills.excel.listXlsxSheets">&#x23;</a>
按实际关系和顺序列 index,name,sheetId,rid,state,path 等，含隐藏页。  
图表页等非 worksheet 页可列出，但不能读取单元格。

### autos.skills.excel.minAutos <a id="autos.skills.excel.minAutos" href="#autos.skills.excel.minAutos">&#x23;</a>
技能包支持的最小 AA(aardio autos) 版本

### autos.skills.excel.openWorkbook(path,startIfMissing,visible,readOnly) <a id="autos.skills.excel.openWorkbook" href="#autos.skills.excel.openWorkbook">&#x23;</a>
打开工作簿并返回 Excel Workbook COM 对象。

### autos.skills.excel.openXlsxEditor(path,options) <a id="autos.skills.excel.openXlsxEditor" href="#autos.skills.excel.openXlsxEditor">&#x23;</a>
打开普通 .xlsx 的受控编辑会话；提供 getCell/getRange/setCell/setRange/save/close。源文件只读、默认拒绝覆盖公式/合并非主格/特殊公式/保护目标；内容改变会清除全簿公式缓存、删除 calcChain 并请求应用重算，不计算公式。失败不提交。

### autos.skills.excel.queryXlsx(path,sheet,options) <a id="autos.skills.excel.queryXlsx" href="#autos.skills.excel.queryXlsx">&#x23;</a>
原生结构化条件查询，不依赖 Office/ACE，不解析 SQL/eval。  
range、columns、where(all/any)、orderBy、offset/limit、aggregates；返回原行号/refs。  
maxScanRows/maxScanCells 与 limit 分开；统计仅针对扫描匹配行；见 XLSX 查询指南。

### autos.skills.excel.readSheet(path,sheet,options) <a id="autos.skills.excel.readSheet" href="#autos.skills.excel.readSheet">&#x23;</a>
一站式读表，默认 auto 优先 COM；method 可指定 com/zip/sql。  
ZIP 默认首行标题/trim/跳过空行，保留 rows.fields 与 rows.info；asMatrix=true 返回原始矩阵且遵守限额。  
ZIP rows.info 含 warnings/truncated；不重算公式或还原显示格式。

### autos.skills.excel.readWorkbook(path,options) <a id="autos.skills.excel.readWorkbook" href="#autos.skills.excel.readWorkbook">&#x23;</a>
一站式读取多个工作表，默认 auto 优先 COM；返回 path,method,sheetCount,sheets。

### autos.skills.excel.readWorkbookByZip(path,options) <a id="autos.skills.excel.readWorkbookByZip" href="#autos.skills.excel.readWorkbookByZip">&#x23;</a>
基于 fsys.openXml.xlsx，一次开包读取工作簿。  
旧内容限额 0 表示未指定；默认坏页返回 null,err,partial，keepErrors=true 保留错误项；查看 warnings/truncated/errorCount/complete。

### autos.skills.excel.readXlsxSheet(path,sheet,options) <a id="autos.skills.excel.readXlsxSheet" href="#autos.skills.excel.readXlsxSheet">&#x23;</a>
不启动 Office，返回二维保存值 rows 与 cells；保留旧字段。  
支持 range、includeStructure、includeStyles、parseDates；日期解释只附加 interpretation，原始值不变。  
不计算公式，不提供最终显示文本；旧 maxRows/maxColumns=0 仍表示未指定。

### autos.skills.excel.rowsToTable(rows,options) <a id="autos.skills.excel.rowsToTable" href="#autos.skills.excel.rowsToTable">&#x23;</a>
二维数据转表数组；支持 header,fields,maxRows,maxColumns,startIndex,includeRowNumber 等。  
保留 0/false；稀疏行可用普通 length 字段声明列宽。

### autos.skills.excel.sheetToTable(sheet,options) <a id="autos.skills.excel.sheetToTable" href="#autos.skills.excel.sheetToTable">&#x23;</a>
将工作表 UsedRange 转为表数组，默认首行作字段名。

### autos.skills.excel.tableToSheet(sheet,data,options) <a id="autos.skills.excel.tableToSheet" href="#autos.skills.excel.tableToSheet">&#x23;</a>
将二维数组或表数组写入工作表。

### autos.skills.excel.version <a id="autos.skills.excel.version" href="#autos.skills.excel.version">&#x23;</a>
技能包版本

### autos.skills.excel.writeXlsx(path,document,options) <a id="autos.skills.excel.writeXlsx" href="#autos.skills.excel.writeXlsx">&#x23;</a>
原生生成普通.xlsx并原子保存；支持多表、二维/显式单元格、字符串/数值/布尔/time、稀疏数据、显式公式及可选缓存；支持有限命名样式、行列/合并/冻结和 autoFilter 区域声明。普通字符串不因=前缀变公式；无缓存不写伪造0。失败不改目标；复杂样式/筛选条件/表对象/图表/重算仍走COM。
