`
libaiyu
  • 浏览: 8439 次
  • 性别: 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模板实现动态数据输出

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

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

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

    利用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抽取Word及PDF编程

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

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

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

    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...

    java读取excel形成xml文件

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

    java导出文件到 pdf,excel,word

    在Java编程环境中,导出数据到PDF、Excel和Word格式是一项常见的需求,这通常涉及到文件处理和格式转换。以下是对这个主题的详细说明: 一、PDF(Portable Document Format)文件导出 PDF是一种通用的文件格式,...

Global site tag (gtag.js) - Google Analytics