最近项目需要读取用户world文件,将其入库。
直接上代码
/**
* 用途说明:读取docx类型文档内容并将其内容保存到数据库(word2007、word2010等版本)
*
*
* 算法说明:采用POI来读取后缀为docx类型的word文件,
* 将文档内容保存到相应表中的相应字段
*
* 注意事项:.
*
* @param JDBCHelper helper
* @param String address 文件地址
* @author wzs
* @version 2011-12-6
*
*/
public boolean readDocx(JDBCHelper helper,String address) {
boolean flag = false;
String caseNum = "";//案卷号
try {
OPCPackage opcPackage = POIXMLDocument.openPackage(address);
XWPFDocument xwdoc = new XWPFDocument(opcPackage);
Iterator<XWPFTable> it = xwdoc.getTablesIterator();
int i = 0;//循环读取案件号,world中表格之外的内容
/**
* 读取表格之外的案卷号
* (前提:标准表格,存在案卷号。)
*/
while(1>0){
String str = xwdoc.getParagraphArray(i).getText();//以每个回车为一行读取
String[] strArr = str.split(":");
if(strArr.length>0){//如果此行为案卷号,则取出案卷号
if("案卷号".equals(strArr[0])){ //前提:world格式为 案卷号:2011海淀管字353144
caseNum = strArr[1];
break;//取出案卷号后跳出循环
}
}
i++;//若果本行没有案卷号则继续循环直到找到案卷号所在行
}
while (it.hasNext()) {
XWPFTable table = it.next();
String []obj = new String[2];
int num = table.getNumberOfRows();//获取表格行数
for(int k = 0; k< num ; k++){
int tnum = table.getRow(i).getTableCells().size();//表格列数
for(int j = 0;j < tnum; j++){
System.out.println(" 第 "+ k +"行 --第"+j+"列 --"+table.getRow(k).getTableCells().get(j).getText());
flag = this.addItemsCaseReport(helper,obj);//将数据保存入库
}
}
}
} catch (Exception e) {
log.error("读取world出错!",e);
}
return flag;
}
/**
* 用途说明:读取doc类型文档内容并将其内容保存到数据库(word2003等版本)
*
*
* 算法说明:采用POI来读取后缀为doc类型的word文件,
* 将文档内容保存到相应表中的相应字段
*
* 注意事项:.
*
* @param JDBCHelper helper
* @param String address 文件地址
*
* @author wzs
* @version 2011-12-6
*/
public boolean readDoc(JDBCHelper helper,String address) {
boolean flag = false;
String caseNum = "";//案卷号
try{
FileInputStream in = new FileInputStream(address);//载入文档
POIFSFileSystem pfs = new POIFSFileSystem(in);
HWPFDocument hwpf = new HWPFDocument(pfs);
Range range = hwpf.getRange();//得到文档的读取范围
int n = 0;//循环读取案件号,world中表格之外的内容
/**
* 读取表格之外的案卷号
* (前提:标准表格,存在案卷号。)
*/
while(1>0){
String str = range.getParagraph(i).text();//以每个回车为一行读取
String[] strArr = str.split(":");
if(strArr.length>0){//如果此行为案卷号,则取出案卷号
if("案卷号".equals(strArr[0])){ //前提:world格式为 案卷号:2011海淀管字353144
caseNum = strArr[1];
break;//取出案卷号后跳出循环
}
}
n++;//若果本行没有案卷号则继续循环直到找到案卷号所在行
}
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);//k为第几个回车
String s = para.text();
System.out.println("第"+i+"行---第"+j+"列---"+k+"-- "+s);
} //end for
} //end for
} //end for
} //end while
}catch(Exception e){
log.error("读取doc文件出错!",e);
}
return flag;
}
分享到:
相关推荐
在Java世界中,Poi是解析和操作这些文件的首选工具,尤其在数据导入导出、自动化测试、数据分析等领域应用广泛。 Excel文件通常以.XLS或.XLSX格式存在,其中.XLS是早期版本的二进制格式,而.XLSX则是基于Open XML...
在Java编程环境中,Apache...总之,Apache POI是Java中处理Office文档的强大工具,它提供了解析和创建各种文件格式的功能。通过学习和实践,开发者可以熟练地将这些文件转换为其他格式,如HTML,从而满足各种业务需求。
Java POI 是一个开源项目,由Apache软件基金会维护,它为开发者提供了在Java环境中读取、写入和修改Microsoft Office格式文件的能力。这个强大的库主要关注Excel(XLS和XLSX)、Word(DOC和DOCX)以及PowerPoint...
在做项目的时候,发现使用POI无法解析以csv文件结尾的文件,虽然csv文件能用Excel打开,但是csv文件没有像Excel一样有规定的电子表格形式,故使用POI无法解析csv文件,在网上找了一下,发现java有提供java csv文件来...
Apache POI (Poor Obfuscation Implementation) 是一个 Java 库,用于读取和写入 Microsoft Office 文件,包括 Word、Excel、PowerPoint 等。 Apache POI 提供了对 Word 2007 文本和图片的解析功能,允许开发者读取...
POI 解析 world、excel,包含解析实例和POI jar包
在Java开发中,Apache POI 是一个非常流行的库,它允许开发者读取、写入和修改Microsoft Office格式的文件,包括Excel(.xlsx 和 .xls)文档。在本项目"POI解析Execl"中,我们将探讨如何利用Apache POI进行Excel文件...
总的来说,Apache POI为Java开发者提供了强大的能力,可以方便地读取、修改和创建Microsoft Office文档,而不仅仅是解析。通过熟练掌握POI库,开发者可以在不依赖特定办公软件的情况下,实现数据的导入导出和格式...
Java POI 是一个开源项目,由Apache软件基金会维护,它提供了API用于读写Microsoft Office格式的文件,如Word(.doc)、Excel(.xls/.xlsx)、PowerPoint(.ppt/.pptx)以及Visio(.vsd)和Outlook(.msg)的数据。...
Java POI库是Apache软件基金会开发的一个开源项目,专门用于读写Microsoft Office格式的文件,如Word、Excel和PowerPoint。在"java poi导出word"这个场景中,我们主要关注的是如何使用Java POI来创建和编辑Word文档...
Java POI库是一个广泛使用的开源项目,主要用于读取、写入和修改Microsoft Office格式的文件,包括Excel、Word和PowerPoint。在这个特定的话题中,我们将深入探讨如何利用Java POI来操作PPT(PowerPoint)文件。以下...
在Java中,如果你需要生成或解析Excel文件,POI库是一个非常强大的工具。本篇文章将深入探讨如何使用POI库在Java中创建和读取Excel文档。 首先,我们需要在项目中引入POI相关的JAR文件。在"lib"目录下,你应该能...
在这个"poi导出world、excel的demo"中,我们将探讨如何使用Apache POI库来创建和导出Word与Excel文档。 首先,让我们关注Excel文件的导出。Apache POI提供了HSSF和XSSF两个API,分别用于处理老版本的.BIFF8格式(....
使用poi解析excel文件,并将数据写入到数据库 项目说明 这个项目实现的功能是读取excel文件中的数据,解析并写入数据库。 读取的excel文件位于项目目录下的 excel\0805.xlsx 使用IntelliJ IDEA开发此项目 使用MYSQL...
Java POI 实现 Excel 导入导出 Java POI 是一个流行的 Java 库,用于处理 Microsoft Office 文件格式,包括 Excel 文件。在本文中,我们将详细介绍如何使用 Java POI 实现 Excel 导入导出功能。 1. 什么是 Java ...
下面我们将深入探讨如何使用Java POI和MultipartFile来解析Excel文件,并将数据写入数据库。 首先,我们需要理解MultipartFile的工作原理。在Spring MVC中,当用户上传文件时,控制器方法的参数可以声明为...
JAVA POI Excel转Html,代码和所需的jar都在压缩包,项目在线预览需求,实现后分享下
标题中的“poi解析word文档”指的是使用Apache POI库来处理Microsoft Word(.doc或.docx)文件。Apache POI是Java中一个流行的库,它允许开发者读取、写入和修改Microsoft Office格式的文件,包括Word、Excel和...
在这个"利用POI解析excel并存入数据库demo"中,我们将关注如何使用 POI 库来读取 Excel 文件,并将数据有效地存入 MySQL 数据库。 首先,要开始使用 POI,你需要在你的项目中引入相应的依赖。如果你使用的是 Maven...