`
夜尽O天明
  • 浏览: 12346 次
  • 性别: Icon_minigender_1
  • 来自: 石家庄
社区版块
存档分类
最新评论

Java利用POI读写word文件

    博客分类:
  • java
阅读更多

Java利用POI读写word文件

对于word文档的读写等操作是大多数开发者都会遇到的问题。Apache的POI是解决word读写的方案之一。本文展示的是通过HWPFDocument读写文件。

一、读取word内容

 

public class HwpfTest {  
    public static void hwpfRead() throws IOException {
        File file = new File("C:\\Users\\Desktop\\test.doc");
        String doc1 = "";
        String doc2 = "";
        try {
            FileInputStream is= new FileInputStream(file);
            HWPFDocument doc = new HWPFDocument(is);
            String doc1 = doc.getDocumentText();
            System.out.println(doc1);
            Range rang = doc.getRange();
            String doc2 = rang.text();
            System.out.println(doc2);
            this.closeStream(is);
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
 /** 
    * 关闭输入流 
    * @param is 
    */  
   private void closeStream(InputStream is) {  
      if (is != null) {  
         try {  
            is.close();  
         } catch (IOException e) {  
            e.printStackTrace();  
         }  
      }  
   }
}

 二、向word文件写入内容

      在使用POIword doc文件的时候我们必须要先有一个doc文件才行,因为我们在写doc文件的时候是通过HWPFDocument来写的,而HWPFDocument是要依附于一个doc文件的。

      在实际开发中,我们在生成word文件的时候都是生成某一类文件,该类文件的格式是固定的,只是某些字段不一样罢了。所以在实际应用中,我们大可不必将整个word文件的内容都通过HWPFDocument生成。而是先在磁盘上新建一个word文档,其内容就是我们需要生成的word文件的内容,然后把里面一些属于变量的内容使用类似于“${paramName}”这样的方式代替。这样我们在基于某些信息生成word文件的时候,只需要获取基于该word文件的HWPFDocument,然后调用RangereplaceText()方法把对应的变量替换为对应的值即可,之后再把当前的HWPFDocument写入到新的输出流中。

public class HwpfWriteTest {  
    
   public void testWrite() throws Exception {  
      String templatePath = "C:\\User\\Desktop\\template.doc";  
      InputStream is = new FileInputStream(templatePath);  
      HWPFDocument doc = new HWPFDocument(is);  
      Range range = doc.getRange();  
      //将文档中的"${helloword}"替换为"Hi"
      range.replaceText("${helloword}", "Hi");  
      OutputStream os = new FileOutputStream("C:\\User\\Desktop\\write.doc");  
      //把doc输出到输出流中  
      doc.write(os);  
      this.closeStream(os);  
      this.closeStream(is);  
   }  
    
   /** 
    * 关闭输入流 
    * @param is 
    */  
   private void closeStream(InputStream is) {  
      if (is != null) {  
         try {  
            is.close();  
         } catch (IOException e) {  
            e.printStackTrace();  
         }  
      }  
   }  
   
   /** 
    * 关闭输出流 
    * @param os 
    */  
   private void closeStream(OutputStream os) {  
      if (os != null) {  
         try {  
            os.close();  
         } catch (IOException e) {  
            e.printStackTrace();  
         }  
      }  
   }  
    
   
}  

 

 

0
1
分享到:
评论

相关推荐

    java 利用POI读取Word文件中的内容

    本篇将详细介绍如何利用Apache POI库来读取Word文件中的内容。 首先,理解Apache POI的基本概念。POI是“Poor Obfuscation Implementation”的缩写,最初是为了反向工程微软的文件格式而创建的。如今,它已经成为...

    java Apache poi 对word doc文件进行读写操作

    在实际应用中,Apache POI 的功能不仅限于简单的读写操作,还支持复杂的格式转换、样式调整和模板填充等功能,是 Java 开发者处理 Word 文件的强大工具。然而,需要注意的是,由于 `.doc` 文件格式的复杂性,处理...

    POI读取 word 2003 和 word 2007 的例子

    是一个Eclipse工程 下载后直接导入工程 运行 src 目录下的 Test java 类即可 这个 rar 包中包含着 POI 读取word 2003 和 word 2007 所需要的 jar 包 也有需要读取的 word 2003 和 word 2007 示例文件 [更多]

    JAVA-POI读取word每一段所在页码(附依赖jar包).zip

    我给出了代码和所有的解释,用POI读取word中的页码。也算是小方法了,基本很准确,为什么要加一个基本呢?因为,分页标志符号在第一行为空白行的时候没有分页符!!所以你的文档如果有很多首段空白行的话,不要浪费C...

    java-poi完美读写word(doc/docx)和TXT。附jar包

    在这个主题中,我们将深入探讨如何使用Java POI库来实现Word(包括.doc和.docx)以及TXT文件的读写操作。 首先,让我们了解一下Java POI的工作原理。POI库提供了HSSF和XSSF两个API,分别用于处理旧版的二进制Excel...

    使用POI读写Word文件(兼容doc与docx版本)

    1. **读取Word文件** - 使用`XWPFDocument`类处理.docx文件,`HWPFDocument`类处理.doc文件。打开文件时,需要使用对应的`OPCPackage`或`Package`打开文档包。 - `XWPFDocument document = new XWPFDocument(new ...

    Java利用poi对word插入文字图片

    在Java编程领域,Apache POI库是一个非常实用的工具,它允许开发者读写Microsoft Office格式的文件,如Word、Excel和PowerPoint。本项目“Java利用poi对word插入文字图片”是一个具体的示例,旨在教给你如何使用...

    java 使用POI合并两个word文档.docx

    Java 是一种流行的编程语言,POI(Poor Obfuscation Implementation)是一个流行的 Java 库,用于操作 Microsoft Office 文件,包括 Word 文档。合并两个 Word 文档是指将两个独立的 Word 文档合并成一个新的 Word ...

    JAVA利用poi完成word转pdf,内容包括两个现成工具类和使用到的所有jar包

    1. 使用Apache POI的XWPF API读取Word文档,获取文档的文本、段落、表格等元素。 2. 创建一个Docx4j的WordprocessingMLPackage对象,加载POI解析出的Word文档内容。 3. 调用Docx4j的`WordprocessingMLPackage.toPDF...

    java运用poi填充word数据并将多个word合并为一个

    在Java编程环境中,Apache POI库是一个非常实用的工具,它允许开发者读写Microsoft Office格式的文件,包括Word文档。本篇文章将详细讲解如何利用Apache POI库在Java中实现Word文档的数据填充以及多文件合并。 1. *...

    java利用poi生成word

    Java中的Apache POI库是一个强大的工具,用于读取、创建和修改Microsoft Office格式的文件,包括Word文档(.doc和.docx)。在这个场景中,"java利用poi生成word"指的是使用Apache POI库来编程生成Word文档。Apache ...

    JAVA用POI生成Word文档

    在Java编程环境中,Apache POI库是一个非常实用的工具,它允许开发者创建、修改和读取Microsoft Office格式的文件,包括Word文档。本教程将详细讲解如何使用POI库生成Word文档并提供下载功能。 首先,我们需要理解...

    Java用poi读取excel文件

    Java 使用 POI 读取 Excel 文件 Java 是一种广泛使用的编程语言,而 Excel 是一种常用的电子表格软件。有时候,我们需要在 Java 程序中读取 Excel 文件的内容,例如将 Excel 表格中的数据导入到数据库中或者进行...

    [简单]poi读取word 2007简单文本框值

    标题中的“poi读取word 2007简单文本框值”指的是使用Apache POI库来读取Microsoft Word 2007文档中简单文本框内的文本内容。Apache POI是一个流行的开源Java库,用于处理Microsoft Office格式的文件,如Word(.docx...

    java poi操作word模版文件生成表单和修改

    Java POI 是一个开源库,专门用于处理Microsoft Office格式的文件,如Word(.doc, .docx)、Excel(.xls, .xlsx)等。在Java应用中,它被广泛用于读取、创建、更新和修改这些文件。在这个场景中,我们将重点讨论如何...

    POI读取word文档的文字内容和图片内容

    在本主题中,我们将深入探讨如何使用POI库读取Word文档中的文字内容和图片。 首先,我们需要理解Word文档的基本结构。Word文档本质上是由一系列基于XML的数据存储在.OFFICEML格式的文件中,这使得我们可以通过解析...

    Java通过POI读取Excel遍历数据,批量生成word文档

    通过这种方式,你可以根据业务需求,利用Java和Apache POI库实现Excel数据的批处理,生成大量定制化的Word文档。这个过程对于报告生成、自动化数据导出或者大规模邮件合并等场景非常有用。 这个示例代码只是一个...

    java poi导出word

    Java POI库是Apache软件基金会开发的一个开源项目,专门用于读写Microsoft Office格式的文件,如Word、Excel和PowerPoint。在"java poi导出word"这个场景中,我们主要关注的是如何使用Java POI来创建和编辑Word文档...

    Java POI读取word生成

    在Java编程中,使用POI库可以实现自动化操作,例如读取、创建、修改和展示这些文件。在这个场景中,我们关注的是如何利用Java POI来生成Word文档,以便有效地展示和规范数据。 首先,理解POI的基本概念是很重要的。...

Global site tag (gtag.js) - Google Analytics