上篇博客通过简单的几行代码就学会了POI新建Excel文档的使用,本篇博客也从简单出发,通过查看POI的官网文档和一个简单的代码实例,学习怎么遍历出一个Excel文档的内容。
1 package com.myjava.poi; 2 3 import java.io.FileInputStream; 4 import java.io.InputStream; 5 6 import org.apache.poi.hssf.usermodel.HSSFCell; 7 import org.apache.poi.hssf.usermodel.HSSFRow; 8 import org.apache.poi.hssf.usermodel.HSSFSheet; 9 import org.apache.poi.hssf.usermodel.HSSFWorkbook; 10 import org.apache.poi.poifs.filesystem.POIFSFileSystem; 11 12 public class ReadExcel { 13 14 public static void main(String[] args) throws Exception{ 15 /** 16 * 从文件系统中的“饭菜名单.xls”文件中获得输入字节 17 */ 18 InputStream is=new FileInputStream("D:\饭菜名单.xls"); 19 //「POIFSFileSystem」类对象可以把Excel文件作为数据流来进行传入传出。 20 POIFSFileSystem fs=new POIFSFileSystem(is); 21 HSSFWorkbook wb=new HSSFWorkbook(fs); 22 /** 获取第一个Sheet页或根据名字获得sheet页 23 *public HSSFSheet getSheet(java.lang.String name) 24 *Get sheet with the given name 25 */ 26 HSSFSheet hssfSheet=wb.getSheetAt(0); 27 if(hssfSheet==null){ 28 return; 29 } 30 // 遍历行Row 31 for(int rowNum=0;rowNum<=hssfSheet.getLastRowNum();rowNum++){ 32 HSSFRow hssfRow=hssfSheet.getRow(rowNum); 33 if(hssfRow==null){ 34 continue; 35 } 36 // 遍历列Cell 37 for(int cellNum=0;cellNum<=hssfRow.getLastCellNum();cellNum++){ 38 HSSFCell hssfCell=hssfRow.getCell(cellNum); 39 if(hssfCell==null){ 40 continue; 41 } 42 System.out.print(" "+getValue(hssfCell)); 43 } 44 System.out.println(); 45 } 46 } 47 48 private static String getValue(HSSFCell hssfCell){ 49 if(hssfCell.getCellType()==HSSFCell.CELL_TYPE_BOOLEAN){ 50 return String.valueOf(hssfCell.getBooleanCellValue()); 51 }else if(hssfCell.getCellType()==HSSFCell.CELL_TYPE_NUMERIC){ 52 return String.valueOf(hssfCell.getNumericCellValue()); 53 }else{ 54 return String.valueOf(hssfCell.getStringCellValue()); 55 } 56 } 57 }
这样就读出了我们上篇博客存入的Excel内容了。
效果如下:
新知识给人的感觉就是非常的困难,所以所有人对新知识都心生恐惧,因此,这篇博客从简单出发,让人扫一眼就能记住,不会有太大负担,让学习轻松起来。