layui+jxl解析上传xls表格数据(jxl不支持xlsx表格)

首先是前端页面

<div class="layui-upload">
                            <button type="button" class="layui-btn layui-btn-sm layui-btn-normal" id="test8">选择发货单文件</button>
                            <input class="layui-upload-file" type="file" accept="" name="file">
                            <button type="button" class="layui-btn layui-btn-sm" id="test9">开始上传</button>
                            <button type="button" class="layui-btn layui-btn-sm layui-btn-info" onclick="window.location.href='/statics/file/发货单.xls'">发货单模板</button>
                        </div>

 然后是.js文件

//上传发货单文件
    upload.render({
        elem: '#test8'
        ,url: '/uploadData'
        ,accept: 'file'
        ,exts: 'xls'  //只允许上传xlsx文件
        ,auto: false  //不允许自动上传
        ,bindAction:'#test9' //指向开始上传按钮,与上面的auto配合着使用。。
        ,done: function(data){
            console.log(data);
            if(data != null && data.status == 0){
                layer.msg(data.mesg, {icon: 1});
            } else {
                layer.msg(data.mesg, {icon: 2});
            }
        }

 });

最后是controller

            InputStream inputStream=file.getInputStream();
            //通过输入流获取workbook
            Workbook wb=Workbook.getWorkbook(inputStream);
            //查看有几张sheet表
            int numberOfSheets = wb.getNumberOfSheets();
            System.out.println(numberOfSheets);
            //通过wb获得第一张sheet表
            Sheet sheet=wb.getSheet(0);
            Cell cell = sheet.getCell(0, 0);
            String contents = cell.getContents();
            System.out.println("第一行第一列的值是:jjjjjjjjj"+contents);

这里通过输入流来获得Workbook对象,然后通过Workbook对象获得sheet表,sheet表通过getCell方法获得行列的值,然后将行列的值转换为字符串类型,这样就成功的解析出了表格文件里面的数据。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值