Jakarta POI 是apache的子项目,目标是处理ole2对象。它提供了一组操纵Windows文档的Java API。在网上见到好多通过poi读取excel的文章,读写也很方便,和jxl有的一比。在这里,主要是poi对word中的表格数据读取。
具体见代码
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import org.apache.poi.hwpf.HWPFDocument;
import org.apache.poi.hwpf.usermodel.Paragraph;
import org.apache.poi.hwpf.usermodel.Range;
import org.apache.poi.hwpf.usermodel.Table;
import org.apache.poi.hwpf.usermodel.TableCell;
import org.apache.poi.hwpf.usermodel.TableIterator;
import org.apache.poi.hwpf.usermodel.TableRow;
import java.io.File;
import java.io.FileInputStream;
import java.io.InputStream;
import org.apache.poi.POIXMLDocument;
import org.apache.poi.POIXMLTextExtractor;
import org.apache.poi.hwpf.extractor.WordExtractor;
import org.apache.poi.openxml4j.opc.OPCPackage;
import org.apache.poi.xwpf.extractor.XWPFWordExtractor;
import org.apache.poi.poifs.filesystem.POIFSFileSystem;
public class ExportDocImpl
{
public void testWord(){
try{
FileInputStream in = new FileInputStream("D:\\sinye.doc");//载入文档
POIFSFileSystem pfs = new POIFSFileSystem(in);
HWPFDocument hwpf = new HWPFDocument(pfs);
Range range = hwpf.getRange();//得到文档的读取范围
TableIterator it = new TableIterator(range);
//迭代文档中的表格
while (it.hasNext()) {
Table tb = (Table) it.next();
//迭代行,默认从0开始
for (int i = 0; i < tb.numRows(); i++) {
TableRow tr = tb.getRow(i);
//迭代列,默认从0开始
for (int j = 0; j < tr.numCells(); j++) {
TableCell td = tr.getCell(j);//取得单元格
//取得单元格的内容
for(int k=0;k<td.numParagraphs();k++){
Paragraph para =td.getParagraph(k);
String s = para.text();
System.out.println(s);
} //end for
} //end for
} //end for
} //end while
}catch(Exception e){
e.printStackTrace();
}
}//end method
public void testWord1(){
try {
//word 2003: 图片不会被读取
InputStream is = new FileInputStream(new File("D:\\sinye.doc"));
WordExtractor ex = new WordExtractor(is);
String text2003 = ex.getText();
System.out.println(text2003);
//word 2007 图片不会被读取, 表格中的数据会被放在字符串的最后
OPCPackage opcPackage = POIXMLDocument.openPackage("D:\\sinye.doc");
POIXMLTextExtractor extractor = new XWPFWordExtractor(opcPackage);
String text2007 = extractor.getText();
System.out.println(text2007);
} catch (Exception e) {
e.printStackTrace();
}
}
}
分享到:
相关推荐
值得注意的是 POI 在读取 word 文件的时候不会读取 word 文件中的图片信息 还有就是对于 2007 版的 word docx 如果 word 文件中有表格 所有表格中的数据都会在读取出来的字符串的最后 ">这是一个POI读取word 2003 和...
标题中的“poi读取word 2007简单文本框值”指的是使用Apache POI库来读取Microsoft Word 2007文档中简单文本框内的文本内容。Apache POI是一个流行的开源Java库,用于处理Microsoft Office格式的文件,如Word(.docx...
在本主题中,我们将深入探讨如何使用POI库读取Word文档中的文字内容和图片。 首先,我们需要理解Word文档的基本结构。Word文档本质上是由一系列基于XML的数据存储在.OFFICEML格式的文件中,这使得我们可以通过解析...
本篇将深入探讨如何使用Apache POI库来替换Word文档中的图片,无论文档是.doc还是.docx格式。 首先,我们需要理解Apache POI的工作原理。POI提供了一个高级API,允许开发者读取、创建和修改Office文档。对于Word...
实际编程中,你可以创建一个方法,接受Word文档的输入流和HTML输出流,使用Apache POI读取Word,构建HTML结构,并写入到输出流中。这样就可以实现Word到HTML的在线转换服务。 通过以上步骤,我们可以利用Apache ...
使用poi将word读取后替换指定内容后再次生成新word,本人经过测试,拿来即用!
表格中的每一行由`XWPFTableRow`表示,每一单元格由`XWPFTableCell`表示。 ```java for (XWPFTable table : document.getTables()) { for (XWPFTableRow row : table.getRows()) { for (XWPFTableCell cell : ...
使用Apache POI,我们可以创建、修改、读取和格式化Word文档中的表格。以下是一些关键知识点: 1. **创建表格**: - 使用`XWPFDocument`类来创建一个新的Word文档实例。 - 通过`createTable()`方法创建表格,并...
在本案例中,我们将关注如何使用Apache POI来读取Word文档的内容,并将其以流的形式返回到Web应用程序的前端页面。 首先,Apache POI提供了一个名为`XWPFDocument`的类,用于处理`.docx`格式的Word文档。这个类允许...
在这个例子中,我们将探讨如何使用POI库来处理Word文档,特别是利用模板文件循环输出表格行并导出新的Word文档。这个过程在数据分析、报告生成或自动化文档制作等场景中非常有用。 首先,我们需要理解Word文档的...
总之,Apache POI为Java开发者提供了强大而灵活的工具,可以方便地对Word文档进行各种操作,包括模板替换和表格插入。通过熟练掌握这些技术,你可以构建自动化报告生成、数据可视化等多种实用应用程序。
1. **创建或读取Word模板**:使用Apache POI的XWPFDocument类,加载预先设计好的包含书签的Word模板文件。 2. **查找书签**:通过XWPFDocument对象的getBookmarks()方法获取模板中的所有书签,每个书签都是一个...
poi读取word代码,可以通过此代码实现对word中的文本、图片、表格的读取。
要实现"利用POI读取excel写入到word",我们需要以下步骤: 1. **准备环境**:首先,确保你的项目已经引入了Apache POI的依赖。在给定的压缩包中,"poi - 副本"可能是包含POI库的JAR文件,你需要将其添加到你的项目...
apach poi 读取word 文档 jar 包。 博文链接:https://wxinpeng.iteye.com/blog/231881
- **TableCell**: 表格中的每一个单元格。 读取 Word .doc 文件有多种方法,但最常见的两种是通过 `WordExtractor` 和直接使用 `HWPFDocument`。 **通过 WordExtractor 读取文件**: `WordExtractor` 主要用于提取...
以上步骤概括了如何使用Apache POI从Word文档中读取表格数据并将其导出到Excel文件。请注意,实际操作中可能需要处理更复杂的情况,如样式、超链接、图片等。在处理这类问题时,Apache POI提供了丰富的API来帮助我们...
1、本案例采用apache开源的poi3.16,读取word文档中文本 ...3、poidemo是一个web工程,运行后,点击首页中的下载按钮,跳转到ReadWriteAndDownloadDocServlet,实现对word中文本内容的替换,并 提供下载功能
在这个场景中,我们关注的是如何利用Java POI库通过Word模板生成包含特定文本、表格和图片的报告。 首先,我们需要了解Java POI中的XWPFDocument类,它是用来处理.docx文件的。XWPFDocument可以读取、修改和创建...
总的来说,Java POI提供了一套强大的工具,使开发者能够在Java应用程序中对Word文档进行深入的读写操作。但要注意,由于Word文档的复杂性,有时可能需要对库进行扩展或结合其他技术来满足所有需求。