java读取word表格方法

来源:互联网 发布:91游戏代练网站源码 编辑:程序博客网 时间:2024/05/03 23:31

首先网上下载poi插件poi-bin-3.9-20121203.zip

import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;

import org.apache.poi.hwpf.HWPFDocument;
import org.apache.poi.hwpf.usermodel.Paragraph;
import org.apache.poi.hwpf.usermodel.Range;
import org.apache.poi.hwpf.usermodel.Table;
import org.apache.poi.hwpf.usermodel.TableCell;
import org.apache.poi.hwpf.usermodel.TableIterator;
import org.apache.poi.hwpf.usermodel.TableRow;

import java.io.File;   
import java.io.FileInputStream;   
import java.io.InputStream;   
  
import org.apache.poi.POIXMLDocument;   
import org.apache.poi.POIXMLTextExtractor;   
import org.apache.poi.hwpf.extractor.WordExtractor;   
import org.apache.poi.openxml4j.opc.OPCPackage;   
import org.apache.poi.xwpf.extractor.XWPFWordExtractor; 


import org.apache.poi.poifs.filesystem.POIFSFileSystem;

public class ExportDocImpl
{
 public void testWord(){
  try{
      FileInputStream in = new FileInputStream("D:\\sinye.doc");//载入文档
     POIFSFileSystem pfs = new POIFSFileSystem(in);   
      HWPFDocument hwpf = new HWPFDocument(pfs);   
      Range range = hwpf.getRange();//得到文档的读取范围
      TableIterator it = new TableIterator(range);
     //迭代文档中的表格
      while (it.hasNext()) {   
          Table tb = (Table) it.next();   
          //迭代行,默认从0开始
          for (int i = 0; i < tb.numRows(); i++) {   
              TableRow tr = tb.getRow(i);   
              //迭代列,默认从0开始
              for (int j = 0; j < tr.numCells(); j++) {   
                  TableCell td = tr.getCell(j);//取得单元格
                  //取得单元格的内容
                  for(int k=0;k<td.numParagraphs();k++){   
                      Paragraph para =td.getParagraph(k);   
                      String s = para.text();   
                      System.out.println(s);
                  } //end for    
              }   //end for
          }   //end for
      } //end while
  }catch(Exception e){
   e.printStackTrace();
  }
 }//end method
 
}

0 0
原创粉丝点击