You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Excel中通过Office Script创建Word文档并写入文本?

在Excel Office Script中创建Word文档的正确方法

核心问题分析

你的脚本存在两个关键错误:

  1. 不存在OfficeScript/word模块:Excel的Office Script没有这个导入模块,Office Script是针对单个Office应用的脚本环境,无法直接引用其他Office应用的专属模块。
  2. 无法直接实例化Word应用对象:Office Script运行在云端的Excel环境中,没有权限直接创建桌面版Word的应用实例,跨Office应用操作需要通过云端服务(如Power Automate或Microsoft Graph API)实现。

解决方案一:通过Power Automate实现(推荐,无需复杂权限配置)

步骤1:编写Excel Office Script输出内容

先编写一个简单的脚本,返回需要写入Word的文本:

function main(workbook: ExcelScript.Workbook): string {
  // 返回要写入Word的内容,后续可替换为Excel数据处理逻辑
  return "Hello, World!";
}

步骤2:创建Power Automate流

  1. 打开Power Automate平台,创建"即时云流"。
  2. 添加触发动作:Excel Online (Business) > 运行脚本,选择你的工作簿和刚才编写的脚本。
  3. 添加创建Word文档的动作:OneDrive for Business > 创建文件,设置:
    • 文件夹路径:/Documents(或你指定的路径)
    • 文件名:MyDocument.docx
    • 文件内容:选择脚本输出的文本(动态内容中的"运行脚本"返回值)
  4. (可选)添加格式设置动作:Word Online (Business) > 应用格式到文本,选中刚创建的文档,设置文本为加粗。
  5. 保存流并测试,即可在指定路径生成带加粗文本的Word文档。

解决方案二:通过Microsoft Graph API直接在Office Script中创建

如果需要在脚本内完成全部操作,可调用Microsoft Graph API创建Word文档:

async function main(workbook: ExcelScript.Workbook) {
  // 定义要写入的内容和格式(使用OOXML语法)
  const content = "Hello, World!";
  const wordOoxml = `<?xml version="1.0" encoding="UTF-8"?>
<w:document xmlns:w="http://schemas.openxmlformats.org/wordprocessingml/2006/main">
  <w:body>
    <w:p>
      <w:r>
        <w:rPr><w:b/></w:rPr>
        <w:t>${content}</w:t>
      </w:r>
    </w:p>
  </w:body>
</w:document>`;

  // 调用Graph API将OOXML写入OneDrive创建Word文档
  const graphUrl = "https://graph.microsoft.com/v1.0/me/drive/root:/Documents/MyDocument.docx:/content";
  const accessToken = await OfficeRuntime.auth.getAccessToken({ allowSignInPrompt: true });
  const response = await fetch(graphUrl, {
    method: "PUT",
    headers: {
      "Content-Type": "application/vnd.openxmlformats-officedocument.wordprocessingml.document",
      "Authorization": `Bearer ${accessToken}`
    },
    body: new Blob([wordOoxml], { type: "application/vnd.openxmlformats-officedocument.wordprocessingml.document" })
  });

  if (!response.ok) {
    throw new Error(`创建文档失败:${response.status} ${response.statusText}`);
  }

  console.log("Word文档已成功创建并保存到OneDrive");
}

注意事项

  • 运行此脚本时,需要允许Excel请求访问Microsoft Graph的权限(首次运行会弹出授权提示)。
  • 确保你的账号有OneDrive的读写权限。

后续扩展(结合OpenAI生成报告)

当实现基础的Word文档创建后,你可以:

  1. 在Office Script中读取Excel表格数据。
  2. 调用OpenAI API(通过fetch)将数据转换为报告文本。
  3. 将生成的文本替换上述示例中的content变量,或构造更复杂的OOXML结构生成带格式的报告。

内容的提问来源于stack exchange,提问作者James Greaves

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.24 21:45:33