近期项目属于一个棋牌类项目 用到的配置表比较多 所以在这里 贴一下代码,留下来可以参考。也希望对有需要的朋友有所帮助哦
》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集合对象,下面这个方法是通过战斗编号获取一个具体的奖励规则对象;
若对有需要的朋友有帮助,可以参考一下。
但是对象需要自定义一下,若有更好的工具希望给予留言或指正哦