美文网首页
【JAVA】读Excel再抽个奖 2019-09-05

【JAVA】读Excel再抽个奖 2019-09-05

作者: 吕吕吕丶 | 来源:发表于2019-09-28 22:21 被阅读0次

    说一下前提吧,为什么涉及到反向读取数据?为什么读出来再抽个奖?
    之前有段时间,项目在读取Excle中的数据用的比较多,其实也做了读取数据保存到数据库中,但是做个简单点得吧

    说一下掏过来得东西吧,哈哈两个文章一掏就用了,
    java读取Excel表格中的数据
    list随机抽取元素

    来,开始!
    按照那个文章说的开整

    我把不要的都去了,大致内容还是长那样
    打开开发软件,先导个pom包,关于jxl的,找jar包推荐网址:我也不知道咋发现的,以后点进去找就得了
    <!-- https://mvnrepository.com/artifact/net.sourceforge.jexcelapi/jxl -->
    <dependency>
        <groupId>net.sourceforge.jexcelapi</groupId>
        <artifactId>jxl</artifactId>
        <version>2.6.12</version>
    </dependency>
    
    来建一个对应的实体类,对于每一行数据做个说明,让数据过去,能知道是干啥的。
    实体类哦

    然后你的 Sheet Workbook Cell 一些就可以用了


    主要看这图就完事了。

    根据图来做,在createRandomList要加一个过滤数据
    原因是列表随机取值时给的列表多了一个标题,所以需要过滤处理一下
    把第一行干掉就完事了:list.remove(0);

    但是这个上面有一点要注意,这一定会抛错误。。
    原因是循环过来,直接取值的时候会使sheet.getCell(0,i);的时候会数值越界,因为你循环的时候,下一个可能就突然没有这个值了,如果你知道数据总数,可以换种写法当传参值带过来这样,能解决这个
    但是那句判断读取数据为空 又感觉没啥用?
    奥,是我写错了,判断合并单元格的标题当然没用,但是就算是处理第一条cell0,应该也不会执行到,因为在获取到这个值的时候就越界了,但是为什么一定要写呢?
    我猜的原因是while(true)是一直循环了,防止结束不了了,到最后这个book.close()就不会处理了,所以要给一个break这个,哈哈。

    以上!
    2019年9月5日18点21分 lvlvlv

    相关文章

      网友评论

          本文标题:【JAVA】读Excel再抽个奖 2019-09-05

          本文链接:https://www.haomeiwen.com/subject/cowdyctx.html