当前位置: 首页 > 知识库问答 >
问题:

使用Apache POI Word JAVA编写docx文件

蓬高谊
2023-03-14

我正在使用ApachePOI Word在java中创建一个docx文件。

现在我正在使用以下代码

XWPFDocument document = new XWPFDocument();
  XWPFParagraph tmpParagraph = document.createParagraph();
  XWPFRun tmpRun = tmpParagraph.createRun();
  tmpRun.setText(newDocxData);

  try {
     document.write(new FileOutputStream(new File("C:\\test.docx")));
  } catch (FileNotFoundException ex) {
     Logger.getLogger(PersonnelFileHandlingStreamAttributesHandlerImpl.class.getName()).log(Level.SEVERE, null, ex);
  } catch (IOException ex) {
     Logger.getLogger(PersonnelFileHandlingStreamAttributesHandlerImpl.class.getName()).log(Level.SEVERE, null, ex);
  }

但这将整个案文置于一段之下。

但我想把给定的字符串按原样放到文档中。

我尝试将字符串转换为输入流并在创建文档时传递它

XWPFDocument document = new XWPFDocument(inputstream);

但它也给出了一个错误。对此有什么解决方案吗?

这是我想写的字符串的一个示例。

10-SchaumburgIllinois-US xxx 2018-06-28

就业证明

兹证明约翰目前受雇于xxx担任经理。

约翰从2007年12月7日开始在xxx工作。

目前的工资是每月工资,每周工作40小时。

共有1个答案

萧越泽
2023-03-14

这里的问题是,您正在检索一个字符串中的所有文本。您应该使用“getBodyElements”解析文档中的所有body元素,然后循环遍历所有元素,并为每个元素创建一个段落。下面是一个如何做到这一点的示例:

 public static XWPFDocument MergeDocument(XWPFDocument source, XWPFDocument output){

        for(IBodyElement element : source.getBodyElements()) {
           if(element instanceof XWPFParagraph) {
                XWPFParagraph paragraph = (XWPFParagraph)element;
                if(paragraph.getStyleID()!=null){
                    XWPFStyles styles= output.createStyles();
                    XWPFStyles stylesdoc2= source.getStyles();
                    styles.addStyle(stylesdoc2.getStyle(paragraph.getStyleID()));
                }    
                XWPFParagraph x= output.createParagraph();
                x.setStyle(((XWPFParagraph) element).getStyle());
                XWPFRun runx=x.createRun();
                runx.setText(((XWPFParagraph) element).getText());
            }
        }
return output;
    }
 类似资料:
  • 需要一些快速帮助。我正在尝试编写一个java程序来生成一个报告。我在一个docx文件中有报告模板。 我想要做的是,使用该docx文件作为模板,将数据多次放入其中,用于各种记录,并将其写入一个新的docx文件。主要的事情是我想维护docx文件中内容的格式和缩进。它们是子弹数据。这就是问题所在。 下面是处理上述操作的代码段, 如果可以请引导。多谢.

  • 本文向大家介绍python使用docx模块读写docx文件的方法与docx模块常用方法详解,包括了python使用docx模块读写docx文件的方法与docx模块常用方法详解的使用技巧和注意事项,需要的朋友参考一下 一,docx模块 Python可以利用python-docx模块处理word文档,处理方式是面向对象的。也就是说python-docx模块会把word文档,文档中的段落、文本、字体等都

  • 问题内容: 我正在使用可写流使用node.js编写一个大文件: 我想知道这种方案在不使用事件的情况下是否安全?如果不是(我认为是这种情况),那么将任意大数据写入文件的模式是什么? 问题答案: 这就是我最终做到的方式。背后的想法是创建实现ReadStream接口的可读流,然后使用方法将数据通过管道传输到可写流。 可以从猫鼬QueryStream中获取类的示例。

  • 我正在尝试使用docx4j API强制使用docx文件的权限。 文件有两个文档保护选项。

  • 本文向大家介绍使用Python读写文本文件及编写简单的文本编辑器,包括了使用Python读写文本文件及编写简单的文本编辑器的使用技巧和注意事项,需要的朋友参考一下 学习raw_input和argv是学习读取文件的前提,你可能不能完全理解这个练习,所以认真学习并检查。如果不认真的话,很容易删除一些有用的文件。 这个练习包含两个文件,一个是运行文件ex15.py,一个是ex15_sample.txt。