【问题标题】:I would like to create a copy of word or excel file using poi我想使用 poi 创建 word 或 excel 文件的副本
【发布时间】:2017-04-24 13:01:33
【问题描述】:

我想使用 poi 创建 word 或 excel 文件的副本。 我知道在阅读 word 或 excel 文件时也会使用 poi。阅读不仅意味着值,还意味着每个单元格的字体大小或表格颜色和背景颜色等属性。读取 xlsx 或 docx 文档的值和属性,我想按原样复制 word 或 Excel 文档。相关源代码是否可以在任何站点上以开源方式开放?

【问题讨论】:

标签: java excel ms-word copy apache-poi


【解决方案1】:

阅读Apache POI or docx4j for dealing with docx documents

您可以在 https://www.slideshare.net/plutext/document-generation-2012osdcsydney 上找到与将文本添加到文档中相关的技术

使用 POI 的 HWPF 支持。这通常作为依赖项包含在 docx4j 中。但是它不是一个很好的方法,因为它不会将文档转换为 docx4j 的内部表示:- 你有点卡在 HWPF 领域 使用 JODConverter 将 doc 转换为 docx,如有必要,再返回。这通常是最简单的。

【讨论】:

    【解决方案2】:

    要从一个文件打开 excel,并将其保存到另一个文件,我使用此代码。

    //open source excel
    InputStream template = new FileInputStream("C:\\source excel path\\input.xlsx");
    Workbook wb = WorkbookFactory.create(template);
    
    //Saving excel to a different location or filename. 
    FileOutputStream out = new FileOutputStream("C:\\path to copy excel to\\output.xlsx");
    wb.write(out);
    wb.close();
    out.close();
    template.close();
    

    【讨论】:

    • 如果您不更改文件,为什么还要用 POI 打开它以再次写入?为什么不只是do a straight copy
    • 问题询问如何使用 POI 进行复制。我个人在填写数据之前将其用作模板。如果您使用大量格式,在 excel 中制作模板可以节省编码时间。此外,如果您想使用宏输出 excel,这是唯一的方法。
    猜你喜欢
    • 2019-09-15
    • 2012-11-10
    • 2018-03-05
    • 1970-01-01
    • 1970-01-01
    • 2019-11-04
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多