`
夜尽O天明
  • 浏览: 12264 次
  • 性别: 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转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文档并提供下载功能。 首先,我们需要理解...

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

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

    Java用poi读取excel文件

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

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

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

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

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

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

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

    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的基本概念是很重要的。...

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

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

Global site tag (gtag.js) - Google Analytics