poi读取word2003(.doc文档)中的表格

摘要:
Poi在Word 2003中读取雅加达Poi表,这是Apache的子项目,旨在处理ole2对象。它提供了一组用于操作Windows文档的Java API。我在互联网上看到了许多通过POI阅读excel的文章,与jxl相比,POI的读写也非常方便。这里,主要任务是读取Word中的表数据。
poi读取word2003(.doc文档)中的表格

Jakarta POI 是apache的子项目,目标是处理ole2对象。它提供了一组操纵Windows文档的Java API。在网上见到好多通过poi读取excel的文章,读写也很方便,和jxl有的一比。在这里,主要是poi对word中的表格数据读取。

具体见代码

 1 import java.io.File;  
 2 import java.io.FileInputStream;  
 3 import java.io.FileNotFoundException;  
 4   
 5 import org.apache.poi.hwpf.HWPFDocument;  
 6 import org.apache.poi.hwpf.usermodel.Paragraph;  
 7 import org.apache.poi.hwpf.usermodel.Range;  
 8 import org.apache.poi.hwpf.usermodel.Table;  
 9 import org.apache.poi.hwpf.usermodel.TableCell;  
10 import org.apache.poi.hwpf.usermodel.TableIterator;  
11 import org.apache.poi.hwpf.usermodel.TableRow;  
12   
13 import java.io.File;     
14 import java.io.FileInputStream;     
15 import java.io.InputStream;     
16     
17 import org.apache.poi.POIXMLDocument;     
18 import org.apache.poi.POIXMLTextExtractor;     
19 import org.apache.poi.hwpf.extractor.WordExtractor;     
20 import org.apache.poi.openxml4j.opc.OPCPackage;     
21 import org.apache.poi.xwpf.extractor.XWPFWordExtractor;    
22   
23   
24 import org.apache.poi.poifs.filesystem.POIFSFileSystem;  
25   
26 public class ExportDocImpl  
27 {  
28     public void testWord(){  
29         try{  
30             FileInputStream in = new FileInputStream("D:\sinye.doc");//载入文档  
31            POIFSFileSystem pfs = new POIFSFileSystem(in);     
32             HWPFDocument hwpf = new HWPFDocument(pfs);     
33             Range range = hwpf.getRange();//得到文档的读取范围  
34             TableIterator it = new TableIterator(range);  
35            //迭代文档中的表格  
36             while (it.hasNext()) {     
37                 Table tb = (Table) it.next();     
38                 //迭代行,默认从0开始  
39                 for (int i = 0; i < tb.numRows(); i++) {     
40                     TableRow tr = tb.getRow(i);     
41                     //迭代列,默认从0开始  
42                     for (int j = 0; j < tr.numCells(); j++) {     
43                         TableCell td = tr.getCell(j);//取得单元格  
44                         //取得单元格的内容  
45                         for(int k=0;k<td.numParagraphs();k++){     
46                             Paragraph para =td.getParagraph(k);     
47                             String s = para.text();     
48                             System.out.println(s);  
49                         } //end for      
50                     }   //end for  
51                 }   //end for  
52             } //end while  
53         }catch(Exception e){  
54             e.printStackTrace();  
55         }  
56     }//end method  
57       
58       
59            public void testWord1(){  
60            try {     
61             //word 2003: 图片不会被读取     
62             InputStream is = new FileInputStream(new File("D:\sinye.doc"));     
63                   WordExtractor ex = new WordExtractor(is);     
64                   String text2003 = ex.getText();     
65                   System.out.println(text2003);     
66             //word 2007 图片不会被读取, 表格中的数据会被放在字符串的最后     
67             OPCPackage opcPackage = POIXMLDocument.openPackage("D:\sinye.doc");     
68                   POIXMLTextExtractor extractor = new XWPFWordExtractor(opcPackage);     
69                   String text2007 = extractor.getText();     
70                   System.out.println(text2007);     
71                  
72         } catch (Exception e) {     
73                   e.printStackTrace();     
74         }   
75     }  
76 }  

免责声明:文章转载自《poi读取word2003(.doc文档)中的表格》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇接口测试人员需要掌握的知识技能谷粒商城学习——P124 es 自定义扩展词库下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

OSGI介绍

OSGI介绍 OSGI简介        OSGI (Open Service Gateway Initiative)联盟成立于1999 年,它是一个非盈利的国际组织,旨在建立一个开放的服务规范,为通过网络向设备提供服务建立开放的标准,是开放业务网关的发起者。 OSGI联盟的初始目标是构建一个在广域网和局域网或设备上展开业务的基础平台,对OSGI 的最早设...

JavaWeb入门——背景知识

JavaWeb入门——背景知识 摘要:本文主要介绍了Web服务器的相关知识。 概念 什么是JavaWeb JavaWeb,是用Java技术来解决相关Web互联网领域的技术的总称。Web包括:Web服务器和Web客户端两部分。 Java在最早Web客户端的应用有Java Applet程序,不过这种技术在很久之前就已经被淘汰了。Java在服务器端的应用非常丰富...

高德地图-搜索服务-POI搜索

高德地图-搜索服务-POI搜索 之前公司项目收货地址仿饿了么的收货地址,结果发现自己实现的关键字搜索和周边搜索,搜索到的poi列表跟饿了么的并不完全一样,后来考虑了下,应该是搜索的范围、类型之类的设置的不一样。后来搜索了下,也的确是这样,,现在记录下来,留给自己也留给大家。 关键字搜索 周边搜索 区域搜索 高德地图 Android SDK 提供了千万级别...

Apache Htpasswd生成和验证密码

Assuming you create the password using the following command and "myPassword" as the passwordhtpasswd -c /usr/local/apache/passwd/passwords usernameThis will create a file that loo...

https配置

1. https配置 1.1. 步骤 升级HTTPS,我们可以分为购买证书、安装证书、设置跳转这三个步骤 1.2. 申请证书 证书类型分为DV、OV、EV这三种,这三种有什么区别? - DV(域名型SSL):个人站点、iOS应用分发站点、登陆等单纯https加密需求的链接; - OV(企业型SSL):企业官网; - EV(增强型SSL):对安全需求更强的企...

maven私服-配置本地私服环境之jar包下载环境搭建

我们前面已经搭建好环境了,就是maven里没有代码,如何导入jar包管理jar包 maven-public仓库组:已有 maven-central代理仓库:从直接代理maven中央仓库,修改为代理阿里云仓库 maven-snapshots宿主仓库:已有 maven-releases宿主仓库:已有 3rd-party仓库:需要手动创建 1.repositor...