`
libaiyu
  • 浏览: 8451 次
  • 性别: Icon_minigender_1
  • 来自: 北京
最近访客 更多访客>>
社区版块
存档分类
最新评论

java读取word的几种方式

阅读更多

java读取word有几种方式?

      今天心血来潮,上网查了查java怎么实现word的操作,发现还真不是很多,感觉也不怎么满意。

反正写下来供大家参考下也是好的,同时也希望得到大家的指点。

1.使用apache poi组件

   先到http://poi.apache.org/index.html去下载poi-bin-3.2-FINAL-20081019.zip压缩包,把里面的三个jar加入工程中。下面写个测试servlet类。比如请求为href="/TestPOI/readword.do?doc=F:/test.doc"

    public class ReadwordServlet extends HttpServlet {
    static final private String CONTENT_TYPE = "text/html; charset=gb2312";
    public void doPost(HttpServletRequest request, HttpServletResponse response)
    throws ServletException, IOException {
            response.setContentType(CONTENT_TYPE);
            response.setHeader("Content-Disposition", "test.doc");
            String doc = request.getParameter("doc");
           
            String text = null;
            try {
                text = readDoc(doc);
            } catch (Exception e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }
            PrintWriter out = response.getWriter();
            result(request, out, text);
    }
    public void doGet(HttpServletRequest request, HttpServletResponse response)
    throws ServletException, IOException {
            doPost(request,response);
    }
    private void result(HttpServletRequest request, PrintWriter out, String text)
    throws ServletException, IOException {
        out.println("<h3>DOCBEGIN</h3><br/>");
        out.println(text);
        out.println("<br/><h3>DOCEND</h3>");
        out.close();
    }

///使用POI的WordExtractor类进行读取word内容

   private String readDoc(String doc) throws Exception{

      FileInputStream in = new FileInputStream(new File(doc));

       WordExtractor extrator = new WordExtractor(in);

      String text = extrator.getText();
      return text;
   }

}

2. 使用POI的拓展包tm-extractors-0.4.jar

http://mirrors.ibiblio.org/pub/mirrors/maven2/org/textmining/tm-extractors/0.4/去下载并加入工程中,它一个就够了,不用POI.

  替换掉原先readDoc(String doc)方法就可以。

    private String readDoc(String doc) throws Exception{
        FileInputStream in = new FileInputStream(new File(doc));
        WordExtractor extrator = new WordExtractor();
        String text = extrator.extractText(in);
        return text;
    }

3.  使用FileInputStream流的方式:

  用下面替换掉CONTENT_TYPE(因为流对word格式不熟悉无法自己处理,所以只能使用word格式了)

static final private String CONTENT_TYPE = "application/msword; charset=gb2312";

用下面替换doPost方法内容

response.setContentType(CONTENT_TYPE);
            response.setHeader("Content-Disposition", "test.doc");
            String doc = request.getParameter("doc");

   FileInputStream fin = new FileInputStream(doc);
           OutputStream out = response.getOutputStream();
           byte[] bs = new byte[2048];
           for(int i=fin.read(bs); i>-1; i=fin.read(bs)){
               out.write(bs, 0, i);
           }
           fin.close();
           out.close();

4.  可以使用中间件,效果当然很好,但是要花钱。如:科翰软件的微软office网路中间件
    http://www.kehansoft.com/soaoffice/doclist.asp
    或者NTKO Office也可以。

以上也大都是通过网上学习的,也不知道有没有更好的处理方式?大家可以给点建议。

第一次用心写点东西,希望大家多给点点评。

3
0
分享到:
评论
1 楼 tianyu1002 2010-02-04  
word2007怎么读不了呢?Exception in thread "main" org.apache.poi.poifs.filesystem.OfficeXmlFileException: The supplied data appears to be in the Office 2007+ XML. POI only supports OLE2 Office documents  报这个错误

相关推荐

    Java读取Word文档页数

    总结来说,Java读取Word文档页数可以通过两种主要途径:一是直接使用Jacob库操作Word文档;二是先将Word转换为PDF,再使用iTextPDF库读取PDF的页数。这两种方法各有优劣,应根据具体项目需求和环境选择合适的方法。

    java读取word,pdf格式文档方法

    本文将介绍 Java 如何读取 Word、PDF 格式文档的几种方法。 使用 Jacob Jacob 是一个桥接工具,连接 Java 和 COM 或 Win32 函数的一个中间件。使用 Jacob 可以读取 Word 文档的内容。首先,需要下载 Jacob 的 jar ...

    .net 读取word的几种方法

    下面将详细介绍其中的几种常见技术,包括使用Microsoft Office Interop、Open XML SDK、Apache POI(仅限于.NET Core)以及第三方库如NPOI和Spire.Doc。 1. **Microsoft Office Interop**:这是最传统的方法,通过...

    java版everything+纯java不用任何包读取office中word文件

    此外,描述中还提到了“java读取压缩文件解包压缩文件等各种文件操作类”,这意味着这个项目可能包含了一套完整的文件操作工具集,包括: - **压缩文件**:使用`ZipOutputStream`可以创建ZIP文件,将多个文件或目录...

    java读取word文档.pdf

    Java 读取Word文档主要涉及的是处理不同类型的文档格式,如.doc、.docx或.rtf等。在Java中,由于Microsoft的Word文档格式复杂,直接读取并不简单,因此通常需要借助第三方库来实现。在给定的描述中提到了几种常用的...

    使用Java读取Word文件的简单例子分享

    总的来说,Java读取Word文件的方法取决于具体需求和可用资源。如果对性能和稳定性有较高要求,或者需要处理复杂的格式,可能需要选择更专业的库;而对于简单的文本替换任务,使用RTF格式和基础的IO操作可能是一个...

    Java 获取Word中的所有插入和删除修订.doc

    Java 获取 Word 中的所有插入和删除修订 在 Word 文档中启用跟踪更改功能后,会记录文档中的所有编辑行为,例如插入、删除、替换和格式更改。这篇文章将介绍如何使用 Java 获取 Word 文档中的所有插入和删除修订。 ...

    Java操作Word模板实现动态数据输出

    #### 五、Java读取Word模板文件的方法 在Java环境中读取Word模板文件并填充数据,通常需要借助第三方库,例如Apache POI。以下是简化的步骤: 1. **导入Apache POI库**:在项目中添加Apache POI依赖。 2. **读取...

    利用POI将word转换成html实现在线阅读

    1. **读取Word文档**:使用HWPFDocument或XWPFDocument类根据文档格式打开Word文件。如果是Word 2003格式(.doc),则使用HWPFDocument;如果是Word 2007及以上版本(.docx),则使用XWPFDocument。 2. **遍历文档...

    java操作wordpdf图片生成图片水印

    本篇将详细介绍如何使用Java来操作Word和PDF文档,并在其中的图片上生成水印。 首先,我们关注的是Java对Word文档的操作。Apache POI是一个非常流行的Java库,用于读写Microsoft Office格式的文件,包括Word(.docx...

    JAVA读取文件——以行为单位读取

    在Java编程语言中,读取文件是常见的任务之一,尤其对于处理文本文件,如TXT文件,以行为单位读取文件内容是一种效率较高且易于管理数据的方式。本篇将深入探讨如何使用Java进行逐行读取TXT文件,并提供相关示例代码...

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

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

    Java抽取Word及PDF编程

    本文将详细介绍几种常用的Java技术来实现Word和PDF文件内容的抽取。 #### 二、使用Jacob进行Word文件的抽取 ##### 1. Jacob简介 Jacob(Java COM Bridge)是一种允许Java应用程序调用COM组件的技术。通过Jacob,...

    poi资源包,java 解析Word,Excel的jar包

    标题中的“poi资源包”指的是Apache POI项目,这是一个开源的Java库,专门用于处理Microsoft Office格式的文件,包括Word(.doc, .docx)、Excel(.xls, .xlsx)以及PowerPoint(.ppt, .pptx)等。这个库使得Java...

    java调用PageOffice生成word

    总的来说,Java调用PageOffice生成Word是一种高效、灵活的方法,尤其适用于需要从数据库中动态获取数据并填充到文档的场景。通过熟练掌握PageOffice的使用,开发者可以提升企业级应用的文档处理能力,提高工作效率。

    Java操作Excel和Word

    Java作为一种广泛使用的编程语言,提供了多种库和工具来实现对Excel和Word的操作。本篇将详细讲解如何使用Java进行Excel和Word的处理。 首先,我们关注的标题"Java操作Excel和Word"涉及到两个主要部分:Excel和Word...

    java word(doc,docx,rtf)转为pdf

    - **读取Word文档**:使用Apache POI的HSSFWorkbook或XWPFDocument类读取.doc或.docx文件,HWPFDocument用于处理RTF文件。 - **解析内容**:从Word文档中提取文本、段落样式、图片等信息。 - **创建PDF**:使用iText...

    poi导出word的几种方法

    ### POI导出Word的几种方法 在Java开发过程中,特别是在使用Grails框架时,我们经常需要处理文档的生成和转换任务。其中一种常见的需求就是将数据导出为Word文档。Apache POI库提供了一种非常高效且灵活的方式来...

    java读取excel形成xml文件

    JDOM是Java文档对象模型(Java Document Object Model)的简称,它提供了一种简便的方式来解析、创建和操作XML文档。 - **Element**: 用于表示XML文档中的元素。 - **Attribute**: 表示XML元素的属性。 - **...

Global site tag (gtag.js) - Google Analytics