js 解析excel

来源:互联网 发布:java引入js跨域 编辑:程序博客网 时间:2024/06/03 20:15

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">  <html>   <head>    <title> New Document </title>    <meta name="Generator" content="EditPlus">    <meta name="Author" content="">    <meta name="Keywords" content="">    <meta name="Description" content="">    <script src="http://cdn.bootcss.com/jquery/2.2.1/jquery.min.js"></script>  <script type="text/javascript" src="../excel/js/xlsx.core.min.js"></script>  <script type="text/javascript">    function readExcel(obj) {                var files = obj.files;            var fileReader = new FileReader();            fileReader.onload = function(ev) {                try {                    var data = ev.target.result,                        workbook = XLSX.read(data, {                            type: 'binary'                        }), // 以二进制流方式读取得到整份excel表格对象                        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; // 如果只取第一张表,就取消注释这行                    }                }                var str = "";                $.each(persons,function(i,n){                console.log(n.name);                });                console.log(persons);                $("#txtArea").val(persons);            };            // 以二进制方式打开文件            fileReader.readAsBinaryString(files[0]);  // body...  }        </script>   </head>     <body>    <input type="file" id="excel-file" onchange="readExcel(this)"/><br>  <textarea id="txtArea" cols=50 rows=10></textarea>   </body>  </html> 




小demo地址:链接: https://pan.baidu.com/s/1pL6tN9T 密码: wwnv

原创粉丝点击