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

》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集合对象,下面这个方法是通过战斗编号获取一个具体的奖励规则对象;

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

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

最后还有一个问题:想向大神们请教一下,

就是有关java工程里有一些txt文件或excle.xls等文件 为什么打完jar包 发布到在线服务器上就找不到了这些文件?但是 在本地电脑上运行没关系。

 

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

  1. Java读取Excel数据

    Java读取Excel数据,解析文本并格式化输出 Java读取Excel数据,解析文本并格式化输出 Java读取Excel数据,解析文本并格式化输出 下图是excel文件的路径和文件名 下图是exce ...

  2. java 读取CSV数据并写入txt文本

    java 读取CSV数据并写入txt文本 package com.vfsd; import java.io.BufferedWriter; import java.io.File; import ja ...

  3. 关于java读取excle文件的相关方法 ;

    1.读取Excle文件内容的方法 拿过来可以直接用 : 2.参照 http://www.anyrt.com/blog/list/importexcel.html#6 更多知识请参考:http://ww ...

  4. java 读取TXT文件的方法

    java读取txt文件内容.可以作如下理解: 首先获得一个文件句柄.File file = new File(); file即为文件句柄.两人之间连通电话网络了.接下来可以开始打电话了. 通过这条线路 ...

  5. java读取TXT文件的方法

    java读取txt文件内容.可以作如下理解: 首先获得一个文件句柄.File file = new File(); file即为文件句柄.两人之间连通电话网络了.接下来可以开始打电话了. 通过这条线路 ...

  6. Java读取xml数据

    xml中的代码 <?xml version="1.0" encoding="UTF-8"?> <books id="aaa" ...

  7. R中读取EXCEL 数据的方法

    最近初学R语言,在R语言读入EXCEL数据格式文件的问题上遇到了困难,经过在网上搜索解决了这一问题,下面归纳几种方法,供大家分享: 第一:R中读取excel文件中的数据的路径: 假定在您的电脑有一个e ...

  8. Java读取CSV数据并写入txt文件

    读取CSV数据并写入txt文件 package com.vfsd; import java.io.BufferedWriter; import java.io.File; import java.io ...

  9. Spark使用Java读取mysql数据和保存数据到mysql

    原文引自:http://blog.csdn.net/fengzhimohan/article/details/78471952 项目应用需要利用Spark读取mysql数据进行数据分析,然后将分析结果 ...

随机推荐

  1. junit,面向切面开发(动态代理),工厂设计模式,数据库连接池

    1.junit junit又叫单元测试,好处是能进行批量测试,而且如果方法出现了问题能立刻定位出出现问题的方法,还有一个好处是感官效果很好,如果方法都通过了则显示绿条,否则显示红条 TestCase. ...

  2. django原生sql查询如何返回字典格式

    django原生sql查询,默认返回的是元祖.如果想返回字典格式,需要自行封装: http://www.360doc.com/content/17/0802/11/9200790_676042880. ...

  3. 面试常问MySQL性能优化问题

    知识综述: [1] MySQL中锁的种类: 常见的表锁和行锁,也有Metadata Lock等等,表锁是对一整张表加锁,分为读锁和写锁,因为是锁住整张表,所以会导致并发能力下降,一般是做ddl处理时使 ...

  4. CSS : color and unit

    Color: CSS中定义颜色使用十六进制(hex)表示法为红,绿,蓝的颜色值结合.可以是最低值是0(十六进制00)到最高值是 255(十六进制FF).3个双位数字的十六进制值写法,以#符号开始部分颜 ...

  5. 循环列表最后一条不显示borderBottom

    You could achieve this using some logic: return books.map((book, i) => { return( <View style={ ...

  6. install django采坑

    1. install python 3 2. install pip 3.  install virtual enviroment : python -m venv myvenv 4. 切换到virt ...

  7. 在docker集群下,使用VNC,物理机器重启后VNC失败解决

    首先重装咯: sudo apt-get update sudo apt-get install ubuntu-desktop gnome-panel gnome-settings-daemon met ...

  8. shell 启动和停止脚本

    启动脚本 start_kmeans_v3.sh #!/bin/bash #用于kmeans_data_v3_hadle启动 ps -ef | grep kmeans_data_v3_hadle.py ...

  9. springMVC设计模式和javaWeb三层框架

    一.springMVC  设计模式 MVC模式是软件工程中的一种能够软件架构模式,把软件分为三个基本部分,模型(model).视图(view)和控制器(controller).使程序简化,更加直观. ...

  10. concurrentHashMap求size

    在 JDK1.7 中,首先会使用不加锁的模式去尝试多次计算 ConcurrentHashMap 的 size,最多三次,比较前后计算的结果,结果一致就认为当前没有元素加入,计算的结果是准确的.如果不符 ...