前端使用xlsx.core.min.js读取excel内容

导入Excel格式

在这里插入图片描述

引用xlsx.core.min.js

<script src="~/Scripts/xlsx.core.min.js"></script>

HTML代码

<input type='button' onclick='DR(this)' value='导入' />
<input type='file' id='file' onchange='importf(this)' hidden />

JS代码

//导入
function DR(obj) {
   $("#file").trigger("click");
}
function importf(obj) {
    if (obj.files.length == 0) {
        return;
    }
    const IMPORTFILE_MAXSIZE = 10 * 1024;//这里可以自定义控制导入文件大小
    var suffix = obj.files[0].name.split(".")[1]
    if (suffix != 'xls' && suffix != 'xlsx') {
        layer.msg("只能导入excel!");
        return;
    }
    if (obj.files[0].size / 1024 > IMPORTFILE_MAXSIZE) {
        layer.msg("文件大小不能超过10MB");
        return;
    }
    var f = obj.files[0];
    var reader = new FileReader();
    reader.onload = function (e) {
        data = e.target.result;

        wb = XLSX.read(data, {
            type: 'binary'
        });
        var a = wb.SheetNames[0];
        var b = wb.Sheets[a];//内容为方式2
        data = XLSX.utils.sheet_to_json(b);//内容为方式1
        if (!data || data == "") {
            layer.closeAll('loading');
            layer.msg("文件内容为空!");
            return;
        }
    //在这里执行对解析后数据的处理
    ResidentInfo = [];
    for (var j = 0; j < data.length; j++) {
        var obj = {
            vc_RoomNo: data[j].房号,
            vc_GuestName: data[j].姓名,
            vc_CardId: data[j].身份证号,
            vc_Mobile: data[j].手机号,
            vc_Sex: data[j].性别
        }
        ResidentInfo.push(obj);
    }
    console.log(ResidentInfo);
    layer.msg("导入成功!");
    reader.readAsBinaryString(f);
}
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值