java POI 读取EXCEL文件

*强调内容*从POI官网http://poi.apache.org/download.html下载最新的jar包将其解压到文件夹,将下列jar包导入工程lib文件:

新建测试excel文件:user.xls,user.xlsx其内容:

工程内容:

import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
import org.apache.poi.hssf.usermodel.HSSFWorkbook;
import org.apache.poi.openxml4j.exceptions.InvalidFormatException;
import org.apache.poi.ss.usermodel.Cell;
import org.apache.poi.ss.usermodel.CellType;
import org.apache.poi.ss.usermodel.Row;
import org.apache.poi.ss.usermodel.Sheet;
import org.apache.poi.ss.usermodel.Workbook;
import org.apache.poi.xssf.usermodel.XSSFWorkbook;
/**
 * Poi读Excel
 * 
 * @author yuanzi
 * 
 */
public class PoiReadDemo
{
   public static void main(String[] args)
   {
  pareExc("user.xls");
   }
private static void pareExc(String path) {
  File xlsFile = new File(path);
  //获取 文件后缀
  String str=path.substring(path.lastIndexOf(".")+1);
 // System.out.println(str);
  Workbook wb = null;
  try {
  if(str.equals("xls")){
  //获取2003版本xls的Workbook 
wb = new HSSFWorkbook(new FileInputStream(xlsFile));
  }else if(str.equals("xlsx")){
//获取2007版本xlsx的Workbook 
  wb=new XSSFWorkbook(xlsFile);
  }
  //获取表格Sheet
  Sheet sheet=wb.getSheetAt(0);
  //s.getLastRowNum()总行数
  for(int row=0;row<=sheet.getLastRowNum();row++){
 //获取每一行Row的数据
  Row r=sheet.getRow(row);
 for(int cell=0;cell<r.getLastCellNum();cell++ ){
 //获取每一格的数据cell
 Cell c=r.getCell(cell);
 printexcel(c); 
 }
 System.out.println();
  }
  } catch (InvalidFormatException e) {
e.printStackTrace();
  }catch (FileNotFoundException e) {
e.printStackTrace();
  } catch (IOException e) {
e.printStackTrace();
  } 
}
   private static void printexcel(Cell c){
  //获取每一格的数据类型
  CellType cp=c.getCellTypeEnum();
 if(CellType.NUMERIC.equals(cp)){
 System.out.print(c.getNumericCellValue()+"\t");
 }else if(CellType.STRING.equals(cp)){
 System.out.print(c.getStringCellValue()+" \t");
 }
   }
}

运行结果:

新手上路大家多多指教!具体代码demo下载地址:http://download.csdn.net/download/ly549826/10115321

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值