JS读取excel内容

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Excel批量处理</title>
    <script src="https://cdn.bootcss.com/jquery/3.2.1/jquery.js"></script>
    <script src="https://cdn.bootcss.com/xlsx/0.11.5/xlsx.core.min.js"></script>
</head>
<body>
<input type="file" id="excel-file">
<textarea id="area"></textarea>
<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'];
                    console.log(fromTo);
                    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>

纯JavaScript获取Excel内容可以通过以下步骤实现: 1. 首先,需要将Excel文件上传到服务器,并确保服务器可以处理Excel文件,将其转换为JSON格式的数据。 2. 在前端使用JavaScript,可以使用XMLHttpRequest对象或Fetch API发送HTTP请求到服务器,并获取转换后的JSON数据。 3. 接收到服务器返回的JSON数据后,可以使用JavaScript解析JSON数据,并将Excel内容提取出来。可以使用JSON.parse()函数将JSON字符串转换为JavaScript对象。 4. 一旦将JSON数据转换为JavaScript对象,可以根据Excel的结构和数据组织方式,使用JavaScript操作数据和展示。 例如,假设Excel文件包含一张表格,有多个列和行。可以使用JavaScript遍历JSON对象的属性和,将每个单元格的数据提取出来,然后将其显示在网页上。 简单示例代码如下: ```javascript // 发送HTTP请求获取JSON数据 fetch('http://example.com/excel.json') .then(response => response.json()) .then(data => { // 解析JSON数据并提取Excel内容 const excelData = JSON.parse(data); // 遍历Excel表格的列和行 for (let column in excelData) { for (let row in excelData[column]) { // 获取每个单元格的数据并展示 const cellData = excelData[column][row]; console.log(`Column: ${column}, Row: ${row}, Cell Data: ${cellData}`); // 可以根据需要将数据展示在网页上 } } }) .catch(error => { console.error('Error:', error); }); ``` 这是一个简单的示例,具体的实现和逻辑要根据Excel文件的结构和需求进行调整。同时,还需要注意处理异常情况和错误处理,以确保程序的稳定性和可靠性。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

qdwel1987

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值