office-js操作word

发布时间 2023-08-26 22:02:42作者: linux星

office-js 是一个用于操作 Word 文档的 JavaScript 库,它允许你在 Word 文档中创建、读取、编辑和删除内容。以下是一些常用的方法及其详细参数说明:

 

1. **Word.run**: 运行一个 Word 宏。你需要提供一个包含宏代码的字符串。

 

   ```javascript

   const word = require('office-js');

   const context = new Office.context.ApplicationContext();

   const mailMergeData = {

     People: [{ Name: "张三", Email: "zhangsan@example.com" }],

     MessageBody: "这是一封测试邮件。"

   };

 

   await context.sync().then(() => {

     Word.run(mailMergeData, (result) => {

       console.log("运行结果: " + JSON.stringify(result));

     });

   });

   ```

 

2. **Word.documents.add**: 在 Word 文档中添加一个新的段落。

 

   ```javascript

   const officeAddin = require('office-addin-web');

   const Word = officeAddin.Office.Word;

 

   // 创建一个新的 Word 文档

   const doc = await Word.createNewDocumentAsync();

 

   // 添加一个新的段落

   const paragraph = await doc.getSectionsAsync(Word.SectionType.Body)[0].insertParagraphAsync();

 

   // 设置段落文本

   paragraph.text = "这是一个新的段落。";

 

   // 保存文档

   await doc.saveAsync("新文档.docx");

   ```

 

3. **Word.documents.read**: 从 Word 文档中读取内容。

 

   ```javascript

   const officeAddin = require('office-addin-web');

   const Word = officeAddin.Office.Word;

 

   // 打开一个现有的 Word 文档

   const doc = await Word.openDocumentAsync("现有文档.docx");

 

   // 读取文档内容

   const content = await doc.getRangeAsync("A1").loadAsync();

 

   // 输出文档内容

   console.log("文档内容: " + content.toString());

   ```

 

4. **Word.documents.edit**: 编辑 Word 文档中的文本。

 

   ```javascript

   const officeAddin = require('office-addin-web');

   const Word = officeAddin.Office.Word;

 

   // 打开一个现有的 Word 文档

   const doc = await Word.openDocumentAsync("现有文档.docx");

 

   // 获取文档中的所有段落

   const sections = await doc.getSectionsAsync(Word.SectionType.Body);

 

   // 遍历所有段落并编辑文本

   for (let i = 0; i < sections.length; i++) {

     const paragraph = sections[i].getRange("A1").getFirstParagraph();

     paragraph.text = "这是编辑后的段落。";

   }

 

   // 保存文档

   await doc.saveAsync("编辑后的文档.docx");

   ```

 

5. **Word.documents.delete**: 删除 Word 文档中的文本。

 

   ```javascript

   const officeAddin = require('office-addin-web');

   const Word = officeAddin.Office.Word;

 

   // 打开一个现有的 Word 文档

   const doc = await Word.openDocumentAsync("现有文档.docx");

 

   // 获取文档中的所有段落

   const sections = await doc.getSectionsAsync(Word.SectionType.Body);

 

   // 遍历所有段落并删除文本

   for (let i = 0; i < sections.length; i++) {

     const paragraph = sections[i].getRange("A1").getFirstParagraph();

     paragraph.remove();

   }

 

   // 保存文档

   await doc.saveAsync("删除后的文档.docx");

   ```