Badwomann 2019-11-24 14:17 采纳率: 0%
浏览 271

poi 操作 ueditor 编辑器生成word

后台读取模板 poi wrod写入信息 同时前台会传入ueditor标签字符串 百度查出来的代码都是生成新的word 怎么在当前流中继续写入 内容 麻烦大佬解答

 String contentConcat = "<p class='MsoNormal' style='text-indent:28pt;' align='left'> <br/></p><p class='MsoNormal' style='text-align:center;' align='left'> <span style='font-size:124px;'>op/span></p><p class='MsoNormal' style='margin-left:28pt;text-indent:-7pt;' align='left'>   <span style='font-size:14px;'>×××××:</span></p><p class='MsoNormal' style='text-indent:28pt;' align='left'><span style='font-size:14px;'>×××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××</span></p>";

      InputStream iss = new ByteArrayInputStream(contentConcat.getBytes("GBK"));
//
      POIFSFileSystem fs = new POIFSFileSystem();
//
       fs.createDocument(iss, "WordDocument");
//

        OutputStream os = new FileOutputStream("src/main/resources/excal/2.docx"); //把doc输出到输出流

       fs.writeFilesystem(os);
  • 写回答

1条回答 默认 最新

  • Kwan的解忧杂货铺 Java领域优质创作者 2024-01-27 19:34
    关注

    参考chatgpt
    在 Apache POI 中,要在已有的 Word 文档中追加内容,可以使用 XWPFDocumentXWPFPargraph 对象。以下是一个简单的例子,展示如何在现有 Word 文档的末尾追加内容:

    import org.apache.poi.xwpf.usermodel.*;
    
    import java.io.FileInputStream;
    import java.io.FileOutputStream;
    import java.io.InputStream;
    import java.io.OutputStream;
    
    public class AppendContentToWord {
        public static void main(String[] args) {
            try {
                // 读取已有的 Word 文档
                FileInputStream fis = new FileInputStream("src/main/resources/excal/2.docx");
                XWPFDocument document = new XWPFDocument(fis);
                fis.close();
    
                // 获取文档的段落列表
                java.util.List<XWPFParagraph> paragraphs = document.getParagraphs();
    
                // 创建一个新的段落,并设置内容
                XWPFParagraph newParagraph = document.createParagraph();
                XWPFRun run = newParagraph.createRun();
                run.setText("这是新添加的内容。");
    
                // 保存修改后的文档
                OutputStream os = new FileOutputStream("src/main/resources/excal/2.docx");
                document.write(os);
                os.close();
            } catch (Exception e) {
                e.printStackTrace();
            }
        }
    }
    

    在这个例子中,我们使用 FileInputStream 读取已有的 Word 文档,然后使用 XWPFDocument 对象表示文档。接着,我们获取文档的段落列表,创建一个新的段落,并在新段落中创建一个 XWPFRun 对象来设置内容。最后,我们使用 FileOutputStream 保存修改后的文档。

    请注意,这只是一个简单的示例。具体的实现可能需要根据您的需求进行更详细的调整。如果您的需求是在指定位置插入内容而不是在末尾追加,还需要更复杂的处理。

    评论

报告相同问题?

悬赏问题

  • ¥15 #MATLAB仿真#车辆换道路径规划
  • ¥15 java 操作 elasticsearch 8.1 实现 索引的重建
  • ¥15 数据可视化Python
  • ¥15 要给毕业设计添加扫码登录的功能!!有偿
  • ¥15 kafka 分区副本增加会导致消息丢失或者不可用吗?
  • ¥15 微信公众号自制会员卡没有收款渠道啊
  • ¥100 Jenkins自动化部署—悬赏100元
  • ¥15 关于#python#的问题:求帮写python代码
  • ¥20 MATLAB画图图形出现上下震荡的线条
  • ¥15 关于#windows#的问题:怎么用WIN 11系统的电脑 克隆WIN NT3.51-4.0系统的硬盘