Microsoft Open XML SDK 的 aardio 薄接入,用于直接读写 DOCX / XLSX / PPTX,以及测试生成文档的结构。主要供 AI 使用:智能提示只保留常用入口,不复制 SDK 类型目录,也不提供另一套 Office 对象模型。
将 /example.docx 换为输入文件。单个 / 开头的路径相对于当前应用程序基准目录。
import DocumentFormat.OpenXml;
var ox = DocumentFormat.OpenXml;
var doc = ox.Packaging.WordprocessingDocument.Open("/example.docx");
var text = doc.MainDocumentPart.Document.Body.InnerText;
doc.Dispose();
return text;
InnerText 是拼接文本,不保留段落分隔或排版;此处只读主文档正文,不包含页眉、页脚等独立部件。打开失败会抛出异常;若要统一返回错误并覆盖整个处理过程,采用验证示例的资源收尾方式。
下列类均位于 DocumentFormat.OpenXml.Packaging:
| 文档类 | 主部件 | Create 默认文档类型 |
|---|---|---|
WordprocessingDocument |
MainDocumentPart |
WordprocessingDocumentType.Document(0) |
SpreadsheetDocument |
WorkbookPart |
SpreadsheetDocumentType.Workbook(0) |
PresentationDocument |
PresentationPart |
PresentationDocumentType.Presentation(0) |
Open(pathOrStream, editable, openSettings):editable 默认 false;第三参为可选的原生 OpenSettings 对象。Create(pathOrStream, documentType, autoSave):文档类型默认 0,autoSave 默认 true。只创建包,不替你建立完整的正文或工作表。已有文件会被覆盖,父目录需事先存在。io.fullpath 转为完整路径;.NET Stream 对象透传。这里不是接收文件字节串的接口。Dispose()。调用方创建的流另行释放。原生异常不改写为统一的 null, err 返回值。随库内嵌 SDK 3.5.1 / net35 的 DocumentFormat.OpenXml.dll 与 DocumentFormat.OpenXml.Framework.dll,通过 dotNet 加载 .NET Framework,不要求安装 Office/WPS。net35 是程序集目标框架,不是 SDK 版本;运行时说明见互操作。
不处理旧二进制 .doc/.xls/.ppt,不提供排版渲染、PDF 导出或 Excel 公式计算。验证通过不代表文档视觉保真或业务数据正确。
SDK 采用 MIT 许可证,许可证原文随库位于 .res/LICENSE.Open-XML-SDK.txt。