【问题标题】:Generate word document from bytes in the database从数据库中的字节生成word文档
【发布时间】:2021-10-17 07:31:32
【问题描述】:

我正在开发一个自动生成文档的 Spring Boot Web 应用程序 (Java)。我面临的一个问题是我在数据库中有一个 word 文档模板,当用户希望生成文档时,我想使用该存储的模板创建一个新文档。那么有没有办法从其字节存储在数据库中的模板生成word文档。还存储我希望通过获取它的字节将此文档存储回数据库。

任何帮助将不胜感激。

【问题讨论】:

  • 可能是word文档有模板,可以从word应用打开,Spring Boot不能用这个应用。你有任何代码吗?
  • 感谢您的回复。现在我正在做一些事情,比如打开存储在我的目录中的模板并将值添加到模板中。这会在我的目录中创建一个文件,然后我将其打开并将其上传到数据库。我使用了这个网站的代码:c-sharpcorner.com/article/…
  • 因此运行查询并将其保存为文件。究竟是什么问题?

标签: java mysql spring-boot dynamic ms-word


【解决方案1】:

根据您在评论中发布的链接,您正在使用免费的 spire.doc 库。你可以:

  • 首先,将字节转换为流,调用库提供的 Document.loadFromStream 方法从流中加载模板。
  • 其次,填写数据后,使用 Document.saveToStream 方法将文档保存回流。
  • 最后,将流转换为字节。

下面是一个例子(还没有测试过),你可以试试。

    byte[] inputBytes = yourBytes;
    ByteArrayInputStream inputStream = new ByteArrayInputStream(inputBytes);
    Document document = new Document();
    document.loadFromStream(inputStream, FileFormat.Docx);

    //do something
    //......

    ByteArrayOutputStream outputStream = new ByteArrayOutputStream();
    document.saveToStream(outputStream, FileFormat.Docx_2013);
    byte[] outputBytes = outputStream.toByteArray();

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-05-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多