Jxl读取.xls文件(可读取所有的sheet)

Jxl读取.xls文件(可读取所有的sheet)  

2010-04-09 12:13:43|  分类: java |  标签: |字号 订阅

最近因工作需要,对Excel的解析方面的技术进行了一些恶补!
对用JXl/POI解析Excel文档做了一些练习,个人觉得JXL顺手一点,就做了个读取的例子!
只要到入JXL的包即可!

JXL的主页是:http://www.andykhan.com/jexcelapi/

 

Java代码 
  1. import java.io.FileInputStream;  
  2. import java.io.IOException;  
  3. import java.io.InputStream;  
  4. import jxl.Sheet;  
  5. import jxl.Workbook;  
  6.   
  7. /** 
  8.  * @author Qin_Tianxiang 
  9.  * jxl读取.xls文件(可读取所有的sheet) 
  10.  */  
  11. public class JavaReadXls {  
  12.  private String filetype = null;  
  13.  private Workbook wb = null;  
  14.   
  15.  public JavaReadXls(String filepath) throws Exception {  
  16.   if (filepath.trim().equals("") || filepath == null) {  
  17.    throw new IOException("参数不能为空或全为空格!");  
  18.   }  
  19.   this.filetype = filepath.substring(filepath.lastIndexOf(".") + 1);  
  20.   InputStream is = new FileInputStream(filepath);  
  21.   if (filetype.equalsIgnoreCase("xls")) {  
  22.    System.out.println("xls格式文件");  
  23.    wb = Workbook.getWorkbook(is);// 创建工作薄  
  24.   } else {  
  25.    throw new Exception("不是.xls文件,请选择.xls格式文件!");  
  26.   }  
  27.  }  
  28.   
  29.  public void RaadXls() throws Exception {  
  30.   Sheet[] sheets = wb.getSheets();// 获取所有的sheet  
  31.   for (int x = 0; x < sheets.length; x++) {  
  32.    Sheet s = wb.getSheet(x);// 获取sheet  
  33.    // System.out.println(s.getRows()+"sheet的行数");  
  34.    if (s.getRows() == 0) {// 判断sheet是否为空  
  35.     System.out.println("Sheet" + (x + 1) + "为空!");  
  36.     continue;  
  37.    } else {  
  38.     // 通用的获取cell值的方式,getCell(int column, int row) 行和列  
  39.     int Rows = s.getRows();// 总行  
  40.     int Cols = s.getColumns();// 总列  
  41.     System.out.println("当前工作表的名字:" + s.getName());  
  42.     System.out.println("总行数:" + Rows);  
  43.     System.out.println("总列数:" + Cols);  
  44.     String[][] str = new String[Rows][Cols];  
  45.     for (int i = 0; i < Rows; i++) {  
  46.      for (int j = 0; j < Cols; j++) {  
  47.       str[i][j] = (s.getCell(j, i)).getContents();// getCell(Col,Row)获得单元格的值  
  48.       System.out.print(str[i][j] + "\t");  
  49.      }  
  50.      System.out.print("\n");  
  51.     }  
  52.    }  
  53.   }  
  54.   wb.close();// 操作完成时,关闭对象,释放内存  
  55.  }  
  56.   
  57.  public static void main(String[] args) throws Exception {  
  58.   new JavaReadXls("D://2009年计算机系专业课总表.xls").RaadXls();  
  59.  }  
  60. }
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值