Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1891072
  • 博文数量: 606
  • 博客积分: 9991
  • 博客等级: 中将
  • 技术积分: 5725
  • 用 户 组: 普通用户
  • 注册时间: 2008-07-17 19:07
文章分类

全部博文(606)

文章存档

2011年(10)

2010年(67)

2009年(155)

2008年(386)

分类: Java

2009-12-28 14:41:24

package com.botwave.util;

import java.io.FileInputStream;
import java.io.InputStream;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

import jxl.Sheet;
import jxl.Workbook;

/**
 * excel工具类
 * @author fisher
 *
 */

public class ExcelUtil {
    
    public static final String FILEPATH = "E:/fisher/wap/文档/columns.xls";

    /**
     * 测试方法
     */

    @SuppressWarnings("unchecked")
    public static void main(String [] args)
    {
        @SuppressWarnings("unused")
        Map m = read(FILEPATH, 0);
        System.out.print(m.size());
    }
    
    public ExcelUtil()
    {
        
    }

    /**
     * 读取Execl数据,放在数组中返回
     *
     * @param filePath Execl文件的绝对路径
     */

    public static void read(String filePath)
    {
        Workbook rwb = null;
        try
        {
             InputStream is = new FileInputStream(filePath);
             rwb = Workbook.getWorkbook(is);
             // 获取第一张Sheet表

             Sheet rs = rwb.getSheet(0);
             for (int k = 0; k < rs.getRows(); k++)
             {
                 for (int j = 0; j < rs.getColumns(); j++)
                 {
                     System.out.println(rs.getCell(j, k).getContents());
                 }
             }
             rwb.close();
        }
        catch (Exception e)
        {
            e.printStackTrace();
        }
    }

    /**
     * 读取Execl数据,放在数组中返回
     *
     * @param filePath Execl文件的绝对路径
     * @param sheetNum 第N张Sheet表
     * @return Map
     */

    @SuppressWarnings("unchecked")
    public static Map<Integer, List> read(String filePath, int sheetNum)
    {
        Map<Integer, List> hm = new HashMap<Integer, List>();
        List list;
        Workbook rwb = null;
        try
        {
             InputStream is = new FileInputStream(filePath);
             rwb = Workbook.getWorkbook(is);
             // 获取第sheetNum张Sheet表

             Sheet rs = rwb.getSheet(sheetNum);
             // 从第二行开始读取,因为第一行设置的是一些参数列名称

             for (int k = 1; k < rs.getRows(); k++)
             {
                 list = new ArrayList();
                 for (int j = 0; j < rs.getColumns(); j++)
                 {
                     list.add(rs.getCell(j, k).getContents());
                 }
                 hm.put(k - 1, list);
             }
             rwb.close();
        }
        catch (Exception e)
        {
            e.printStackTrace();
        }
        return hm;
    }
}



阅读(610) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~