Java读取word中表格
因为要新建一个站,公司要把word表格的部分行列存到数据库中。之前用java操作过excel,本来打算用java从word表格中读取数据,再存到数据库中,结果因为权限不够,无法访问公司要写的那个数据库,跪了跪了。
但还是把java读取word中表格的方法写一下,先上代码。
public static void testWord(String filePath){
try{
FileInputStream in = new FileInputStream(filePath);//载入文档 //如果是office2007 docx格式
if(filePath.toLowerCase().endsWith("docx")){
//word 2007 图片不会被读取, 表格中的数据会被放在字符串的最后
XWPFDocument xwpf = new XWPFDocument(in);//得到word文档的信息
// List<XWPFParagraph> listParagraphs = xwpf.getParagraphs();//得到段落信息
Iterator<XWPFTable> it = xwpf.getTablesIterator();//得到word中的表格
while(it.hasNext()){
XWPFTable table = it.next();
List<XWPFTableRow> rows=table.getRows();
//读取每一行数据
for (int i = 1; i < rows.size(); i++) {
XWPFTableRow row = rows.get(i);
//读取每一列数据
List<XWPFTableCell> cells = row.getTableCells();
for (int j = 0; j < cells.size(); j++) {
XWPFTableCell cell=cells.get(j);
//输出当前的单元格的数据
System.out.println(cell.getText());
}
}
}
}
}catch(Exception e) {
e.printStackTrace();
}
}
首先肯定是io读取文档,利用传进来的地址,接着有一个if判断语句,这个语句主要是为了判断word的版本的。因为目前word有doc和docx两种格式,这两种处理的方式不太一样。我这里用的是docx格式,判断完成后,用XWPFDocument来接收word文档信息,再用迭代器来便利word中的表格,表格肯定是有行有列,两个for循环,输出整个行列。
运行结果
Java读取word中表格的更多相关文章
- Java 读取Word中的脚注、尾注
本文介绍读取Word中的脚注及尾注的方法,添加脚注.尾注可以参考这篇文章. 注:本文使用了Word类库(Free Spire.Doc for Java 免费版)来读取,获取该类库可通过官网下载,并解压 ...
- Python 读取word中表格数据、读取word修改并保存、替换word中词汇、读取word中每段内容,读取一段话中相同样式内容,理解Document中run
from docx import Document path = r'D:\pywork\12' # word信息表所在文件夹 w = Document(path + '/' + 'word信息表.d ...
- [Java] Java读取Word文档
前言 最近需要做一些NLP 方面的工作,使用的是Java,在此总结一下使用Java读取Word(.doc)格式文件的方法. Apache基金会非常厉害,开源工具包POI就可以处理微软家的文档,甚至包括 ...
- java操作office和pdf文件java读取word,excel和pdf文档内容
在平常应用程序中,对office和pdf文档进行读取数据是比较常见的功能,尤其在很多web应用程序中.所以今天我们就简单来看一下Java对word.excel.pdf文件的读取.本篇博客只是讲解简单应 ...
- python读取word中的段落、表、图+++++++++++Doc转换Docx
读取文本.图.表.解压信息 import docx import zipfile import os import shutil '''读取word中的文本''' def gettxt(): file ...
- VBA读取word中的内容到Excel中
原文:VBA读取word中的内容到Excel中 Public Sub Duqu() Dim myFile As String Dim docApp As Word.Applicati ...
- java读取请求中body数据
java读取请求中body数据 /** * 获取request中body数据 * * @author lifq * * 2017年2月24日 下午2:29:06 * @throws IOExcepti ...
- java读取request中的xml
java读取request中的xml 答: // 读取xml InputStream inputStream; StringBuffer sb = new StringBuffer(); inpu ...
- Java使用POI读取Word中的表格
个人博客 地址:https://www.wenhaofan.com/a/20190627135921 代码 package live.autu.word; import java.io.FileInp ...
随机推荐
- C# Split 根据组合字符进行拆分数组用法
C# Split 根据组合字符进行拆分数组用法,如下代码: string sql = "aaaaaaaaaa{@}bbbbbbbbbb{@}ccccccc#cccccc"; //1 ...
- Nethogs - 网络流量监控工具
命令iftop来检查带宽使用情况.netstat用来查看接口统计报告.还有其他的一些工具Bandwidthd.Speedometer.Nethogs.Darkstat.jnettop.ifstat.i ...
- poi 导入导出的api说明(大全)
原文链接:http://www.cnblogs.com/qingruihappy/p/8443101.html poi 导入导出的api说明(大全) 一. POI简介 ApachePOI是Apache ...
- 异常-----freemarker.template.TemplateException:Error executing macro:mainSelect
1.错误描述 freemarker.template.TemplateException:Error executing macro:mainSelect require parameter:id i ...
- ThreadLocal原理
ThreadLocal类可以看作是当前线程的一个局部变量,只有当前线程可以访问,因此是线程安全的. ThreadLocal内部维护了一个ThreadLocalMap类,ThreadLocalMap是一 ...
- 初学者第二节之HelloWorld
ava具有简单性.面向对象.分布式.健壮性.安全性.平台独立与可移植性.多线程.动态性等特点.Java可以编写桌面应用程序.Web应用程序.分布式系统和嵌入式系统应用程序等. 一.首先创建一个Hell ...
- [BZOJ1552] [Cerc2007] robotic sort (splay)
Description Input 输入共两行,第一行为一个整数N,N表示物品的个数,1<=N<=100000.第二行为N个用空格隔开的正整数,表示N个物品最初排列的编号. Output ...
- MySQL配置文件
[mysqld]datadir=/usr/local//mysql/data #数据存放位置socket=/var/lib/mysql/mysql.sockuser=mysqllower_cas ...
- .net白盒测试
很久没写博客了,刚好这段时间空闲,做点记录 前提:最近部门需要白盒测试的工具,在网上也搜索了很多资料,国内很少有类似的资料(很少公司.net代码进行白盒测试),最后在国外(FQ)网站查找到了部分资料 ...
- java 动态代理 , 多看看。 多用用。
import java.lang.reflect.InvocationHandler; import java.lang.reflect.Proxy; import java.lang.reflect ...