通过java读取excle数据的方法,今天用到了留下来供以后参考使用

近期项目属于一个棋牌类项目 用到的配置表比较多 所以在这里 贴一下代码,留下来可以参考。也希望对有需要的朋友有所帮助哦

》1.需求将一个excle表格中的数据 读取 然后封装成自定义的对象,本项目使用的对象如“UserWarProps”里面大概有10个属性

public class UserWarPros {

  public Integer warID;

  //(对战类型,初级中级红包竞技)
  public Integer fightType;

  //该场次基本倍数
  private Integer basemultiple;

  //该场次基本分数
  private Integer baseScore;


  //加入房间消耗的物品ID
  public Integer joinCostItemID;

  //加入房间消耗的物品数量
  public Integer joinCostItemcount;

  //结算所用的物品ID
  public Integer resultItemID;

  //胜利奖励的物品个数
  public Integer winCount;

  //失败扣除的物品个数
  public Integer failCount;

  //破产补贴奖励的物品ID
  public Integer bankruptcyItemID;

  //破产奖励的物品数量
  public Integer bankruptcyItemCount;

  //破产奖励的最大次数
  public Integer bankruptcyMaxPrizeCount;

 

     //构造方法 -- 省略--

}

 

1.2 下面就是读取的工具类 直接贴代码如下:

// 实现读取EXCLE文件,将读出的信息存放于系统物品奖励规则配置表集合中
public static List<UserWarPros> ReadFromExcel(String fileName) throws Exception {

List<UserWarPros> userWarProsListlist = new ArrayList<UserWarPros>();

File file = new File(fileName);
try {
InputStream in = new FileInputStream(file);
Workbook wb = Workbook.getWorkbook(in); //获得excel文件对象
Sheet s = wb.getSheet(0); //获取文件的指定工作表
// System.out.println(s.getColumns());
// System.out.println(s.getRows());
for (int i = 1; i < s.getRows(); i++) //第一行不要
{
Cell[] row = s.getRow(i);
UserWarPros pros = new UserWarPros(
Integer.parseInt(row[0].getContents()),
Integer.parseInt(row[1].getContents()),
Integer.parseInt(row[2].getContents()),
Integer.parseInt(row[3].getContents()), 
Integer.parseInt(row[4].getContents()),
Integer.parseInt(row[5].getContents()),
Integer.parseInt(row[6].getContents()), 
Integer.parseInt(row[7].getContents()),
Integer.parseInt(row[8].getContents()),
Integer.parseUnsignedInt(row[9].getContents()),
Integer.parseUnsignedInt(row[10].getContents())
);
userWarProsListlist.add(pros);
};

} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (BiffException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
return userWarProsListlist;
}


/**
* 根据战斗类型获取一个物品奖励对象
* @param fightType
* @param list
* @return
*/
public static UserWarPros getPros (Integer fightType , List<UserWarPros> list){


if(list == null || list.isEmpty())return null;

for (UserWarPros uPs : list) {

if(uPs.getFightType().equals(fightType))return uPs;
}

return null;
}

有了这个工具,就可以直接通过文件路径 直接生成一个javabeen集合对象,下面这个方法是通过战斗编号获取一个具体的奖励规则对象;

若对有需要的朋友有帮助,可以参考一下。

但是对象需要自定义一下,若有更好的工具希望给予留言或指正哦

 

猜你喜欢

转载自www.cnblogs.com/MrLiWee/p/9426519.html
今日推荐