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>
复制代码

 

 

 

posted @   jsper  阅读(2065)  评论(0编辑  收藏  举报
编辑推荐:
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
阅读排行:
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?
点击右上角即可分享
微信分享提示