求读取execl资料的方法

求读取execl文件的方法我想要实现这样的一个方法,就是输入一个文件地址,然后返回给我一个map型或者list型

求读取execl文件的方法
我想要实现这样的一个方法,
就是输入一个文件地址,然后返回给我一个map型或者list型的对象,
这个对象包括execl中的所有内容(但是不要求格式什么的)。
我查了一下网上的方法,好像有poi和jxt什么的,但是我拷贝了几份,都出了问题。。
不能用。。求助论坛里面的大手们,帮帮忙。。。

[解决办法]
http://bbs.csdn.net/topics/390358967
[解决办法]
http://bbs.csdn.net/topics/390358967
晕哦,楼上的那不就是我的帖子么?
另外你的要求好像是map或者list,
如果你非得想反悔map或者list的话还是能实现
但是我还是推荐String[][]的,
毕竟这样的话能获得具体单元格的值。
[解决办法]
哈哈刚才有个人也问的操作execl文件这里我就把我回答他的代码给你参考下吧



package com.djk.design.Test;

import java.io.File;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.HashSet;
import java.util.List;
import java.util.Map;
import java.util.Set;

import jxl.Cell;
import jxl.Sheet;
import jxl.Workbook;

/**
 * 客户端测试方法
 * @author djk
 *
 */
public class OperatorExeclTest 
{
public static void main(String[] args) throws Exception 
{
OperatorExecl operatorExecl = new DjkOperatorExecl();
Map<String,Set<String>> map= operatorExecl.getResult("E:/my.xls");
System.out.println(map);
}
}

/**
 * 操作execle文件
 * @author djk
 *
 */
interface  OperatorExecl
{
Map<String,Set<String>> getResult(String path) throws Exception ;
}

/**
 * 实现类
 * @author djk
 *
 */
class DjkOperatorExecl implements OperatorExecl
{
@Override
public Map<String, Set<String>> getResult(String path) throws Exception 
{
Set<String> list = null;
Map<String,Set<String>> map = new HashMap<String, Set<String>>();


Workbook book = Workbook.getWorkbook(new File(path));
       // 获得第一个工作表对象
        Sheet sheet = book.getSheet(0);
        //获得行数
        int rows = sheet.getRows();
        //获得列数数
        int columns = sheet.getColumns();
        String resultkey = null;
        String resultvalue = null;
        for(int i = 1;i<rows;i++)
        {
        for(int j = 0;j<columns;j++)
        {
                Cell cell1 = sheet.getCell(j, i);
                if(MyConstant.TWOCOLUMN.getValue() ==j)
                {
                resultkey = cell1.getContents();


                }
                
                if(MyConstant.THREECOLUMN.getValue()==j)
                {
                resultvalue = cell1.getContents();
                Set<String> list1 = map.get(resultkey);
                if(null==list1
[解决办法]
list1.size()==0)
                {
                list = new HashSet<String>();
                list.add(resultvalue);
                map.put(resultkey, list);
                }else
                {
                map.get(resultkey).add(resultvalue);
                }
                
                }
        }
        }
        
return map;
}

}

enum MyConstant
{
TWOCOLUMN(1),THREECOLUMN(2);
private MyConstant(int i)
{
this.value = i;
}

private int value;

public int getValue() {
return value;
}

}



我的execl:
求读取execl资料的方法
结果:{衣服=[森马], 酒=[茅台, 洋河]}
[解决办法]
poi读出二维数组,然后循环往map里塞。实在没太多可说的。