js读取xlsx文件成数组

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <script src="jquery-2.2.1.min.js" type="text/javascript"></script>
    <script src="xlsx.core.min.js"></script>
</head>
<body>
<input type="file" id="xlsxfile" onchange="ConvertToArray2()"/>
<script>
    var sheet2arr = function(sheet){
        var result = [];
        var row;
        var rowNum;
        var colNum;
        var range = XLSX.utils.decode_range(sheet['!ref']);
        for(rowNum = range.s.r; rowNum <= range.e.r; rowNum++){
            row = [];
            for(colNum=range.s.c; colNum<=range.e.c; colNum++){
                var nextCell = sheet[
                    XLSX.utils.encode_cell({r: rowNum, c: colNum})
                    ];
                if( typeof nextCell === 'undefined' ){
                    row.push(void 0);
                } else row.push(nextCell.w);
            }
            result.push(row);
        }
        return result;
    };
    //方法一、xlsx转成数组
    function ConvertToArray1() {
                var reader = new FileReader();
                reader.readAsBinaryString(document.getElementById("xlsxfile").files[0]);
                reader.onloadend = function (evt) {
                    if(evt.target.readyState == FileReader.DONE){
                        var data = reader.result;
                        var workbook = XLSX.read(data, { type: 'binary' });
                    }
                    var sheet_name_list = workbook.SheetNames;
                    var result = sheet2arr(workbook.Sheets[sheet_name_list[0]]);
                    console.log(result);
            }
    }

    //方法二、xlsx转成数组
    function ConvertToArray2() {
        var reader = new FileReader();
        reader.readAsBinaryString(document.getElementById("xlsxfile").files[0]);
        reader.onloadend = function (evt) {
            if(evt.target.readyState == FileReader.DONE){
                var data = reader.result;
                var workbook = XLSX.read(data, { type: 'binary' });
            }
            var sheet_name_list = workbook.SheetNames;
            var result = XLSX.utils.sheet_to_json(workbook.Sheets[sheet_name_list[0]], {header:1});
            console.log(result);
        }
}
</script>
</body>
</html>

注意:

需要引用
    jquery-2.2.1.min.js
    xlsx.core.min.js
  • 3
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值