js前端解析excel文件

js前端解析excel文件

使用纯Javascript解析excel文件。

使用的是开源的解析excel的js库:sheetjs。github地址:https://github.com/SheetJS/js-xlsx

 

首先引用JS库

<</span>script src="od.js"></</span>script>
<</span>script src="jszip.js"></</span>script>
<</span>script src="xlsx.js"></</span>script>

放置页面组件

<</span>body>
    <</span>div id="drop">Drop an XLSX / XLSM / XLSB / ODS / XLS / XML file here to see sheet data</</span>div>
    <</span>p><</span>input type="file" name="xlfile" id="xlf" /> ... or click here to select a file</</span>p> </</span>body>

 页面效果如下:

给dom元素添加监听

 

复制代码
function addLis() {
    var xlf = document.getElementByIdx_x('xlf');
    var drop = document.getElementByIdx_x('drop');
    drop.addEventListener("dragenter", handleDragover, false);
    drop.addEventListener("dragover", handleDragover, false);
    drop.addEventListener("drop", onDropDown, false);
    if(xlf.addEventListener) xlf.addEventListener('change', handleFile, false);
}

addLis();

function handleDragover(e) {
    e.stopPropagation();
    e.preventDefault();
    e.dataTransfer.dropEffect = 'copy';
}

function onDropDown(e) {
    e.stopPropagation();
    e.preventDefault();
    var files = e.dataTransfer.files;
    var f = files[0];
    readFile(f);
}

function handleFile(e) {
    var files = e.target.files;
    var f = files[0];
    readFile(f);
}
复制代码

读取文档并输出到控制台:

 

复制代码
function readFile(file) {

    var name = file.name;
    var reader = new FileReader();
    reader.onload = function (e) {
        var data = e.target.result;
        var wb = XLSX.read(data, { type: "binary" });
        console.log(wb);
    };
    reader.readAsBinaryString(file);
}
复制代码

输出示例:

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值