Java读取word中表格

Wesley13
• 阅读 924

  因为要新建一个站,公司要把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中表格

点赞
收藏
评论区
推荐文章
待兔 待兔
5个月前
手写Java HashMap源码
HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程22
Irene181 Irene181
3年前
利用Python将Word试卷匹配转换为Excel表格
需求有一个下面这种形式的word表格:希望能转换为下面这种格式的excel表格:测试word文档读取先测试一个word文档前1页的数据读取:fromdocximportDocumentdocDocument("编号02质检员高级技师(一级)理论试卷.docx")fori,paragraphinenumerate(doc.par
Wesley13 Wesley13
3年前
jacob安装配置完整版
1.如果要操作word用jacob当然是最好的。要操作Excel用poi是最棒的。其他的(ppt,pdf)我还没有研究不清楚。2.jacob好是好不过代码比较复杂。网络上有基于jacob封装好的jar:java2word。不过呢,目前java2word版本是有bug的(bug:用JUnit测试是没有任何问题的,但放在web上测试就出错了)。只好自
Wesley13 Wesley13
3年前
java代码操作word模板并生成PDF
这个博客自己现在没时间写,等后面有时间了,自己再写。这中需求是在实际的项目开发中是会经常遇到的。下面我们先从简单入手一步一步开始。1.首先,使用word创建一个6行两列的表格。点击插入6行2列的表格,如图所示:!(https://img2018.cnblogs.com/blog/1527997/201910/15279972019
Wesley13 Wesley13
3年前
Java与嵌入式数据库SQLite的结合
   最近研究了一下嵌入式数据库,并使用Java与一个叫做SQLite的轻量级数据库结合写了个小程序,这个过程中也获得了不少经验,下面来总结一下。     本来是决定用Flex写的,因为它做出的界面比较美观,但是写完了界面发现连接数据库这方面Flex还处于幼儿阶段,而且支持的数据库也不多....所以不得不放弃而转向Java了。     首先
Stella981 Stella981
3年前
POI替换Word中的mark标记(指定字符串)
哈哈,这是鄙人在博客园的第一篇博客,以前都是在简书上码字,废话不多说,直接开工...需求分析:工作中遇到的一个技术需求,需要用java代码操作Word,查找Word中的mark标记,然后进行替换,简而言之就是“替换word中的指定字符串”;解决办法:可以用JACOB和POI来实现,下面我用的是POI操作。用poi必须要用到Apache的jar包,
Stella981 Stella981
3年前
Python创建Excel表格,Word并写入数据
fromtkinterimportTkfromtimeimportsleepfromtkinter.messageboximportshowwarningimportwin32com.clientaswin32warnlambdaapp:showwarning(app,'Exit?'
Stella981 Stella981
3年前
JFinal Quartz 支持配置文件和持久化
    随着需求的增加,现在要定时启动一个调度和计划任务,原先写的QuartzPlugin,是持久化保存到数据库中的,从数据库中读取任务并执行。要是添加一个每天循环任务,就要在代码里写一次开始任务的代码,执行后,再注释掉,最后重启项目。否则会因为启动同name,同group的任务而报错org.quartz.ObjectAlreadyExistsE
小万哥 小万哥
1年前
MySQL 数据库表格创建、数据插入及获取插入的 ID:Python 教程
创建表格要在MySQL中创建表格,请使用"CREATETABLE"语句。确保在创建连接时定义了数据库的名称。示例创建一个名为"customers"的表格:pythonimportmysql.connectormydbmysql.connector.conn
小万哥 小万哥
1年前
Python MySQL 数据库查询:选择数据、使用筛选条件、防止 SQL 注入
从表格中选择数据要从MySQL中的表格中选择数据,请使用"SELECT"语句:示例选择"customers"表格中的所有记录,并显示结果:pythonimportmysql.connectormydbmysql.connector.connect(host