javascript - 如何使用 docx 包附加文件

标签 javascript node.js

我需要在我的服务器中有一个 word 文档。当有人点击保存按钮时,我需要将数据保存在文档中。我使用以下内容创建一个 word 文档。它为我创建了一个新文档,但我想将数据附加到现有文档。

    const fs = require('fs');
    const docx = require('docx');

    let doc = new docx.Document();

    let paragraph = new docx.Paragraph("welcome to my document");

   //when client loads a new page and clicks save button             
    app.post('/newpg',(req,res)=>{


    paragraph.addRun(new docx.TextRun("Another line to be added"));

    doc.addParagraph(paragraph);

    **let packer = new docx.Packer();
    packer.toBuffer(doc).then((buffer)=>{
        fs.writeFileSync("sample.docx",buffer);
    });**

最佳答案

这段代码应该可以工作,它与您已有的代码非常相似,我只是添加了响应和错误处理。

const fs = require('fs');
const docx = require('docx');

let doc = new docx.Document();

let paragraph = new docx.Paragraph("welcome to my document");

//when client loads a new page and clicks save button             
app.post('/newpg', (req, res) => {

    paragraph.addRun(new docx.TextRun("Another line to be added"));

    doc.addParagraph(paragraph);

    let packer = new docx.Packer();
    packer.toBuffer(doc).then((buffer) =>{
        fs.writeFileSync("sample.docx",buffer);
        res.status(201).json({ status: "Doc updated"} );
    }).catch(err => {
        res.status(500).json({ status: "An error occurred updating document." });
    });
});

关于javascript - 如何使用 docx 包附加文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56785194/

相关文章:

javascript - 使用 javascript 删除 HTML h1 空标签

javascript - RxJS如何创建或模拟异步?

javascript - 当我更新数据库中的用户文档时,Meteor 用户被注销

Node.js 与 CouchDB 和 Backbone.js 一起使用,如何提供 json?

node.js - sendgrid 使用 @sendgrid/mail 设置

javascript - 在 Node js 控制台和浏览器之间的箭头函数中使用参数时的不同输出

javascript - 如何在特定度数下获取Javascript中椭圆的边缘坐标?

node.js - Nodejs 在路由器页面中包含 socket.io

node.js - 错误: ER_PARSE_ERROR: You have an error in your SQL syntax

node.js - MapMyIndi​​a 有 NPM 吗?