前端读取excel文件
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 | <! DOCTYPE html> < html > < head > < title >js读取Excel文件</ title > < meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> </ head > < body class="Body noover"> < input type="file" id="file" /> < div id="demo"></ div > </ body > < script src="https://cdn.bootcdn.net/ajax/libs/jquery/3.7.1/jquery.min.js"></ script > < script src="https://blog-static.cnblogs.com/files/xieyongbin/xlsx.full.min.js"></ script > < script type="text/javascript"> $(document).ready(function () { /* FileReader共有4种读取方法: 1.readAsArrayBuffer(file):将文件读取为ArrayBuffer。 2.readAsBinaryString(file):将文件读取为二进制字符串 3.readAsDataURL(file):将文件读取为Data URL 4.readAsText(file, [encoding]):将文件读取为文本,encoding缺省值为'UTF-8' */ var wb; //读取完成的数据 var rABS = false; //是否将文件读取为二进制字符串 function fixdata(data) { //文件流转BinaryString var o = "", l = 0, w = 10240; for (; l < data.byteLength / w; ++l) o += String.fromCharCode.apply( null, new Uint8Array(data.slice(l * w, l * w + w)) ); o += String.fromCharCode.apply(null, new Uint8Array(data.slice(l * w))); return o; } $("#file").change(function () { if (!this.files) { return; } var f = this.files[0]; var reader = new FileReader(); reader.onload = function (e) { var data = e.target.result; if (rABS) { wb = XLSX.read(btoa(fixdata(data)), { type: "base64", }); } else { wb = XLSX.read(data, { type: "binary", }); } document.getElementById("demo").innerHTML = JSON.stringify( XLSX.utils.sheet_to_json(wb.Sheets[wb.SheetNames[0]]) ); }; if (rABS) { reader.readAsArrayBuffer(f); } else { reader.readAsBinaryString(f); } }); }); </script> </ html > |
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· Docker 太简单,K8s 太复杂?w7panel 让容器管理更轻松!
2016-06-08 angular Error: [ng:areq]