aardio 文档

fsys.openXml 库模块帮助文档

» fsys.openXml 使用指南

fsys.openXml 成员列表 #

Office Open XML 文件处理基础库;
读取与分析优先,当前提供包读取、部件导出与 PPTX/DOCX/XLSX 内容提取;可按需扩展受控编辑与生成。
使用系统 MSXML,无 Office/WPS/.NET 依赖;仅显式导出才写入目标文件。

fsys.openXml.open() #

返回对象:openXmlPackageObject

fsys.openXml.open(path,options) #

只读打开 ZIP/OpenXML 包,验证中央目录与内容类型。
失败返回 null,err;不支持传统 Office 二进制、分卷或加密文件。
可选限额:maxEntries=10000,maxPartBytes=16777216,maxReadBytes=134217728,maxXmlDepth=128,maxXmlNodes=200000。

fsys.openXml.resolveTarget(sourcePart,target) #

相对源部件解析包内关系目标,返回不以 / 开头的部件名。
包根源用空字符串;禁止越界、反斜杠、外部方案、查询与片段;不访问资源。

openXmlPackageObject 成员列表 #

openXmlPackageObject.close() #

关闭 ZIP 句柄,可以重复调用。关闭后读取返回 null,err。

openXmlPackageObject.extractPart(name,filePath,overwrite=false) #

将原始部件字节导出到明确指定的文件路径,返回完整输出路径;失败返回 null,err。
默认不覆盖,禁止写回源文档;先校验长度/CRC/读取限额,再写同目录临时文件并提交。
单次失败不留下半成品目标,也不预先清空已有目标;不是包编辑或文档生成。

openXmlPackageObject.getContentType(name) #

返回内容类型;未声明返回 null。

openXmlPackageObject.getMainPart() #

根据包关系定位主文档部件;不依赖固定目录或文件名。

openXmlPackageObject.getRelationships(sourcePart="字符串参数") #

返回源部件关系数组;包关系使用空字符串。
字段 id,type,target,external,partName;外部关系没有 partName,也不会跟随。
缺少 .rels 返回空数组;无效或缺失内部目标返回 null,err。

openXmlPackageObject.hasPart(name) #

部件存在返回 true,否则 false,err;名称可有一个前导 /。

openXmlPackageObject.listEntries() #

返回全部 ZIP 条目的元信息数组:name,isDir,size,compressedSize,contentType。
保留实际存在的目录项(name 以 / 结尾),不合成隐式目录;不读取各条目的内容。

openXmlPackageObject.listParts() #

返回包内文件数组:name,size,compressedSize,contentType。
包含 [Content_Types].xml;不含 ZIP 目录项。

openXmlPackageObject.path #

源文件完整路径,只读。

openXmlPackageObject.readPart(name) #

读取单个部件为二进制字符串;空文件返回空字符串。
检查实际长度、CRC 与累计读取限额;失败返回 null,err。

openXmlPackageObject.readXml() #

返回对象:msXmlNodeObject

openXmlPackageObject.readXml(name) #

读取 XML 为 MSXML DOM 根元素;失败返回 null,err。
使用 fsys.openXml.xml 查询辅助;DOM 节点限当前线程使用,关闭包后仍可读取。

Markdown 格式