使用Java POI来选择提取Word文档中的表格信息
Posted Steven_Jiang
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了使用Java POI来选择提取Word文档中的表格信息相关的知识,希望对你有一定的参考价值。
通过使用Java POI来提取Word(1992)文档中的表格信息,其中POI支持不同的ms文档类型,在具体操作中需要注意。本文主要是通过POI来提取微软2003文档中的表格信息,具体code如下(事先需要导入POI的jar包):
public static void testWord2() { try { FileInputStream in = new FileInputStream("july 2005 1.doc");// 载入文档 // FileInputStream in = new FileInputStream("2003.doc");// 载入文档 POIFSFileSystem pfs = new POIFSFileSystem(in); HWPFDocument hwpf = new HWPFDocument(pfs); Range range = hwpf.getRange();// 得到文档的读取范围 TableIterator it = new TableIterator(range); FileWriter fileWriter = new FileWriter(new File("result.txt")); // 迭代文档中的表格 while (it.hasNext()) { Table tb = (Table) it.next(); // 迭代行,默认从0开始 if(tb.numRows()>0) { TableRow tr = tb.getRow(0); // 迭代列,默认从0开始 if(tr.numCells()==2) { TableCell td1 = tr.getCell(0);// 取得单元格 TableCell td2 = tr.getCell(1);// 取得单元格 // 取得单元格的内容 String str1 = td1.text().trim(); String str2 = td2.text().trim(); if(str2!=null&&!"".equals(str2)&&str2.contains("[21][11]")){ System.out.println(str1); fileWriter.write(str2+"\n"); } } else if(tr.numCells()==3){ TableCell td2 = tr.getCell(1); String str2 = td2.text().trim(); System.out.println("str2="+str2); fileWriter.write(str2+"\n"); } } // end for } // end while fileWriter.close(); } catch (Exception e) { e.printStackTrace(); } }
上面code只是简单的对POI提取Word文档中的表格信息进行测试,直接调用该方法即可。
以上是关于使用Java POI来选择提取Word文档中的表格信息的主要内容,如果未能解决你的问题,请参考以下文章
java用poi导出word文档,我要导出一个表格,表格的单元格中还要有一个表格,请问怎么实现
java用poi生成word文档,并且给word文档中的中文设置字体,我测试只能改英文字体?
java 用POI 解析word中的表格,POI只能识别word中创建的表格。 如果表格是从Excel中copy过来的, POI无法识
用JAVA能把Word和PDF文档的表格内容和格式识别出来吗