zoukankan      html  css  js  c++  java
  • js读取excel

    原文:

    本文只是稍有变化,主要是遍历,取行的数据。

     1 <!DOCTYPE html>
     2 <html lang="en">
     3 
     4 <head>
     5     <meta charset="UTF-8">
     6     <title>Excel批量处理</title>
     7     <script src="https://cdn.bootcss.com/jquery/3.2.1/jquery.js"></script>
     8     <script src="https://cdn.bootcss.com/xlsx/0.11.5/xlsx.core.min.js"></script>
     9 </head>
    10 
    11 <body>
    12     <input type="file" id="excel-file">
    13     <script>
    14         //给input标签绑定change事件,一上传选中的.xls文件就会触发该函数
    15         $('#excel-file').change(function (e) {
    16             var files = e.target.files;
    17             var fileReader = new FileReader();
    18             fileReader.onload = function (ev) {
    19 
    20                 try {
    21                     var data = ev.target.result
    22                     var workbook = XLSX.read(data, {
    23                         type: 'binary'
    24                     }) // 以二进制流方式读取得到整份excel表格对象
    25                 } catch (e) {
    26                     console.log('文件类型不正确');
    27                     return;
    28                 }
    29                 // 表格的表格范围,可用于判断表头是否数量是否正确
    30                 var fromTo = '';
    31                 // 遍历每张表读取
    32                 for (var sheet in workbook.Sheets) {
    33                     if (workbook.Sheets.hasOwnProperty(sheet)) {
    34                         fromTo = workbook.Sheets[sheet]['!ref'];
    35                         var rows = XLSX.utils.sheet_to_json(workbook.Sheets[sheet]);
    36                         var bclsPhone, votePhone;
    37                         for (var i = 0; i < rows.length; i++) {
    38                             var row = rows[i];
    39                             var name = row['姓名'];
    40                             var phone = row['手机号'];
    41                             console.log('姓名:', name, '手机号:', phone);
    42                         }
    43                         break; // 如果只取第一张表,就取消注释这行
    44                     }
    45                 }
    46             };
    47             // 以二进制方式打开文件
    48             fileReader.readAsBinaryString(files[0]);
    49         });
    50     </script>
    51 </body>
    52 
    53 </html>

  • 相关阅读:
    最快效率求出乱序数组中第k小的数
    调整数组顺序使奇数位于偶数前面
    分治算法的完美使用----归并排序
    快速排序分区以及优化方法
    分治法以及快速排序
    高效求a的n次幂的算法
    最长连续递增子序列(部分有序)
    在有空字符串的有序字符串数组中查找
    旋转数组的最小数字(改造二分法)
    递归----小白上楼梯
  • 原文地址:https://www.cnblogs.com/jsper/p/15695129.html
Copyright © 2011-2022 走看看