Java讀取word中表格

  由於要新建一個站,公司要把word表格的部分行列存到數據庫中。以前用java操做過excel,原本打算用java從word表格中讀取數據,再存到數據庫中,結果由於權限不夠,沒法訪問公司要寫的那個數據庫,跪了跪了。java

  但仍是把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循環,輸出整個行列。spa

運行結果excel

相關文章
相關標籤/搜索