前端js读取excel工作表格数据

这篇文章介绍了如何在前端使用jQuery和xlsx.js库来读取Excel文件。通过将js文件放在本地,确保功能稳定性,当用户选择Excel文件后,代码会解析文件内容并将其输出到控制台。主要步骤包括绑定文件输入事件、读取二进制数据、用XLSX库解析数据。
摘要由CSDN通过智能技术生成

首先 需要两个js文件
jquery.min.js 线上地址 https://cdn.bootcss.com/jquery/3.2.1/jquery.js
xlsx.core.min.js 线上地址 https://cdn.bootcss.com/xlsx/0.11.5/xlsx.core.min.js
还是建议弄到本地,因为如果线上地址发生变化就出问题了,搞到本地可以保证系统功能稳定
可以直接下载我的资源
xlsxJs完成前端读取excel工作表工具
这里 我将两个js文件放在一个xlsxJs文件夹下 文件夹与html文件在同一目录下
这里
然后html文件代码如下

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Excel批量处理</title>
    <script src="./xlsxJs/jquery.min.js"></script>
    <script src="./xlsxJs/xlsx.core.min.js"></script>
</head>
<body>
<input type="file" id="excel-file">
<script>
    //给input标签绑定change事件,一上传选中的.xls文件就会触发该函数
    $('#excel-file').change(function(e) {
        var files = e.target.files;
        var fileReader = new FileReader();
        fileReader.onload = function(ev) {
            try {
                var data = ev.target.result
                var workbook = XLSX.read(data, {
                    type: 'binary'
                }) // 以二进制流方式读取得到整份excel表格对象
                var persons = []; // 存储获取到的数据
            } catch (e) {
                console.log('文件类型不正确');
                return;
            }
            // 表格的表格范围,可用于判断表头是否数量是否正确
            var fromTo = '';
            // 遍历每张表读取
            for (var sheet in workbook.Sheets) {
                if (workbook.Sheets.hasOwnProperty(sheet)) {
                    fromTo = workbook.Sheets[sheet]['!ref'];
                    persons = persons.concat(XLSX.utils.sheet_to_json(workbook.Sheets[sheet]));
                    //break; // 如果只取第一张表,就取消注释这行
                }
            }
            //在控制台打印出来表格中的数据
            console.log(persons);
            $("#area").val(JSON.stringify(persons));
        };
        // 以二进制方式打开文件
        fileReader.readAsBinaryString(files[0]);
    });
</script>
</body>
</html>

打开页面 点击选择文件
在这里插入图片描述
选择一个本地的 工作表格文件在这里插入图片描述

此时 我们工作表中的内容就被解析并输出在控制台上了在这里插入图片描述

  • 2
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值