Java读取word中表格

  因为要新建一个站,公司要把word表格的部分行列存到数据库中。之前用java操作过excel,本来打算用java从word表格中读取数据,再存到数据库中,结果因为权限不够,无法访问公司要写的那个数据库,跪了跪了。

  但还是把java读取word中表格的方法写一下,先上代码。

1public static void testWord(String filePath){ 2 try{ 3 FileInputStream in = new FileInputStream(filePath);//载入文档 //如果是office2007 docx格式 4 if(filePath.toLowerCase().endsWith("docx")){ 5 //word 2007 图片不会被读取, 表格中的数据会被放在字符串的最后 6 XWPFDocument xwpf = new XWPFDocument(in);//得到word文档的信息 7// List<XWPFParagraph> listParagraphs = xwpf.getParagraphs();//得到段落信息 8 Iterator<XWPFTable> it = xwpf.getTablesIterator();//得到word中的表格 9 10 while(it.hasNext()){ 11 12 XWPFTable table = it.next(); 13 List<XWPFTableRow> rows=table.getRows(); 14 //读取每一行数据 15 for (int i = 1; i < rows.size(); i++) { 16 XWPFTableRow row = rows.get(i); 17 //读取每一列数据 18 List<XWPFTableCell> cells = row.getTableCells(); 19 for (int j = 0; j < cells.size(); j++) { 20 XWPFTableCell cell=cells.get(j); 21 //输出当前的单元格的数据 22 System.out.println(cell.getText()); 23 } 24 } 25 } 26 } 27 }catch(Exception e) { 28 e.printStackTrace(); 29 } 30 }

  首先肯定是io读取文档,利用传进来的地址,接着有一个if判断语句,这个语句主要是为了判断word的版本的。因为目前word有doc和docx两种格式,这两种处理的方式不太一样。我这里用的是docx格式,判断完成后,用XWPFDocument来接收word文档信息,再用迭代器来便利word中的表格,表格肯定是有行有列,两个for循环,输出整个行列。

运行结果

点赞
收藏

评论区

加载中...

相关推荐

手写Java HashMap源码

HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程22

jacob安装配置完整版

1.如果要操作word用jacob当然是最好的。要操作Excel用poi是最棒的。其他的(ppt,pdf)我还没有研究不清楚。2.jacob好是好不过代码比较复杂。网络上有基于jacob封装好的jar:java2word。不过呢,目前java2word版本是有bug的(bug:用JUnit测试是没有任何问题的,但放在web上测试就出错了)。只好自

java代码操作word模板并生成PDF

这个博客自己现在没时间写,等后面有时间了,自己再写。这中需求是在实际的项目开发中是会经常遇到的。下面我们先从简单入手一步一步开始。1.首先,使用word创建一个6行两列的表格。点击插入6行2列的表格,如图所示:!(https://img2018.cnblogs.com/blog/1527997/201910/15279972019

利用Python将Word试卷匹配转换为Excel表格

需求有一个下面这种形式的word表格:希望能转换为下面这种格式的excel表格:测试word文档读取先测试一个word文档前1页的数据读取:fromdocximportDocumentdocDocument("编号02质检员高级技师(一级)理论试卷.docx")fori,paragraphinenumerate(doc.par

Java与嵌入式数据库SQLite的结合

   最近研究了一下嵌入式数据库,并使用Java与一个叫做SQLite的轻量级数据库结合写了个小程序,这个过程中也获得了不少经验,下面来总结一下。     本来是决定用Flex写的,因为它做出的界面比较美观,但是写完了界面发现连接数据库这方面Flex还处于幼儿阶段,而且支持的数据库也不多....所以不得不放弃而转向Java了。     首先

POI替换Word中的mark标记(指定字符串)

哈哈,这是鄙人在博客园的第一篇博客,以前都是在简书上码字,废话不多说,直接开工...需求分析:工作中遇到的一个技术需求,需要用java代码操作Word,查找Word中的mark标记,然后进行替换,简而言之就是“替换word中的指定字符串”;解决办法:可以用JACOB和POI来实现,下面我用的是POI操作。用poi必须要用到Apache的jar包,