转载地址https://www.cnblogs.com/GoForMyDream/p/8559072.html

 

亲测可用

添加依赖

org.apache.poi

poi-ooxml

4.1.0

org.apache.poi

poi-scratchpad

4.1.0

 

因为要新建一个站,公司要把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 listParagraphs = xwpf.getParagraphs();//得到段落信息

Iterator it = xwpf.getTablesIterator();//得到word中的表格

while(it.hasNext()){

XWPFTable table = it.next();

List rows=table.getRows();

//读取每一行数据

for (int i = 1; i < rows.size(); i++) {

XWPFTableRow row = rows.get(i);

//读取每一列数据

List 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循环,输出整个行列。

运行结果

 

相关阅读

评论可见,请评论后查看内容,谢谢!!!评论后请刷新页面。