利用poi工具把上篇输出后的.xls的内容读出来,打印到控制台。


  
  1. package com.lzz.hssf; 
  2.  
  3. import java.io.FileInputStream; 
  4. import java.io.InputStream; 
  5. import java.util.Iterator; 
  6.  
  7.  
  8. import org.apache.poi.hssf.extractor.ExcelExtractor; 
  9. import org.apache.poi.hssf.usermodel.HSSFCell; 
  10. import org.apache.poi.hssf.usermodel.HSSFDateUtil; 
  11. import org.apache.poi.hssf.usermodel.HSSFRow; 
  12. import org.apache.poi.hssf.usermodel.HSSFSheet; 
  13. import org.apache.poi.hssf.usermodel.HSSFWorkbook; 
  14.  
  15. /** 
  16.  * 读取上篇中的xls文件的内容,并打印出来 
  17.  * @author Administrator 
  18.  * 
  19.  */ 
  20. public class PoiReadTable { 
  21.  
  22.     /**读取一个excel文件的内容 
  23.      * @param args 
  24.      * @throws Exception  
  25.      */ 
  26.     public static void main(String[] args) throws Exception { 
  27.         //extractor(); 
  28.         readTable(); 
  29.     } 
  30.      
  31.      
  32.     //通过对单元格遍历的形式来获取信息 ,这里要判断单元格的类型才可以取出值
  33.     public static void readTable() throws Exception{ 
  34.         InputStream ips=new FileInputStream("d://test2-1.xls"); 
  35.         HSSFWorkbook wb=new HSSFWorkbook(ips); 
  36.         HSSFSheet sheet=wb.getSheetAt(0); 
  37.         for(Iterator ite=sheet.rowIterator();ite.hasNext();){ 
  38.             HSSFRow row=(HSSFRow)ite.next(); 
  39.             System.out.println(); 
  40.             for(Iterator itet=row.cellIterator();itet.hasNext();){ 
  41.                 HSSFCell cell=(HSSFCell)itet.next(); 
  42.                 switch(cell.getCellType()){   
  43.                 case HSSFCell.CELL_TYPE_BOOLEAN:   
  44.                     //得到Boolean对象的方法   
  45.                     System.out.print(cell.getBooleanCellValue()+" ");   
  46.                     break;   
  47.                 case HSSFCell.CELL_TYPE_NUMERIC:   
  48.                     //先看是否是日期格式   
  49.                     if(HSSFDateUtil.isCellDateFormatted(cell)){   
  50.                         //读取日期格式   
  51.                         System.out.print(cell.getDateCellValue()+" ");   
  52.                     }else{   
  53.                         //读取数字   
  54.                         System.out.print(cell.getNumericCellValue()+" ");   
  55.                     }   
  56.                     break;   
  57.                 case HSSFCell.CELL_TYPE_FORMULA:   
  58.                     //读取公式   
  59.                     System.out.print(cell.getCellFormula()+" ");   
  60.                     break;   
  61.                 case HSSFCell.CELL_TYPE_STRING:   
  62.                     //读取String   
  63.                     System.out.print(cell.getRichStringCellValue().toString()+" ");   
  64.                     break;                     
  65.             }   
  66.             } 
  67.         } 
  68.          
  69.     } 
  70.      
  71.     //直接抽取excel中的数据 
  72.     public static void extractor() throws Exception{ 
  73.         InputStream ips=new FileInputStream("d://test2-1.xls"); 
  74.         HSSFWorkbook wb=new HSSFWorkbook(ips); 
  75.         ExcelExtractor ex=new ExcelExtractor(wb); 
  76.         ex.setFormulasNotResults(true); 
  77.         ex.setIncludeSheetNames(false); 
  78.         String text=ex.getText(); 
  79.         System.out.println(text);  
  80.     }