<%--将excel数据显示到页面--%> <script type="text/javascript"> //原创来自 www.luofenming.com //首先监听input框的变动,选中一个新的文件会触发change事件 document.querySelector("#testFile").addEventListener("change", function () { //获取到选中的文件 var file = document.querySelector("#testFile").files[0]; //判断文件大小 //if (file.size > 1024 * 1024) { // alert('当前文件大小:' + Math.floor(file.size / 1024) + 'KB,上传文件不能大于1024KB'); // return false; //} //判断文件类型 var type = file.name.split('.'); if (type[type.length - 1] !== 'xlsx' && type[type.length - 1] !== 'xls' && type[type.length - 1] !== 'XLS' && type[type.length - 1] !== 'XLSX') { alert('只能选择excel文件导入'); return false; } //新建一个对象_读取文件 const reader = new FileReader(); //读取二进制字符串 reader.readAsBinaryString(file); //文件读取完时触发一个方法 reader.onload = function (e) { const data1 = e.target.result; //把读出来的二进制字符串赋值给data1变量 const zzexcel = window.XLSX.read(data1, { //从XLS文件中读取 type: 'binary', //数据类型_二进制数据 cellDates: true, //将 12/13/22 变为 2022/12/13 追加无效 。。。重要、重要 dateNF: 'yyyy/mm/dd' //指定日期格式为四位数的年份 。。。重要、重要 }); //申明变量result const result = []; //从EXCEL中取值,放入变量result for (let i = 0; i < zzexcel.SheetNames.length; i++) { const newData = window.XLSX.utils.sheet_to_json(zzexcel.Sheets[zzexcel.SheetNames[i]]); //xlsx.core.min.js插件 将excel数据取出 //console.log(newData); //F12 控制台中_确认 result.push(...newData) } var data2 = JSON.stringify(result) //用变量接收JSON数据,JSON.stringify(result)将对象变为字符串 var excel_data = JSON.parse(data2); //JSON.parse()将字符串变为对象 。。。重要、重要 //console.log(excel_data); //F12 控制台中_确认 jspreadsheet(document.getElementById('spreadsheet'), { //往jexcel中装入数据 data: excel_data, }); ////逐条提取数据 for (var i = 0; i < result.length; i++) { //console.log(JSON.stringify(result[i])); //EXCEL中每一行数据 F12的控制台中_确认 var strJsonData = JSON.stringify(result[i]); //alert(strJsonData); //弹窗_确认 //} //将excel_data传给后台,写入数据库 $.ajax({ url: "/jexcel_数据表_excel导入到页面.ashx", datatype: "json", data: { "RequestType": "inserted_excel_data", "excel_data": strJsonData }, success: function (data) { //alert("excel导入成功") document.getElementById('spreadsheet').jexcel.refresh(); //刷新表格 }, error: function (error) { alert("excel导入不成功,格式、字段名与网页中的表格不一致"); //var falg = true; } }); //如果出现错误,马上停止????开启后只能处理一条数据 //if (falg = true) { // return; //} } //刷新表格 ????没成功??? document.getElementById('spreadsheet').jexcel.refresh(); } }); </script>
标签:data,excel,js,JSON,result,var,type,页面 From: https://www.cnblogs.com/automationanywhere/p/18031042