首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何在angularjs中读取excel文件?

如何在angularjs中读取excel文件?
EN

Stack Overflow用户
提问于 2014-12-17 18:27:20
回答 1查看 17K关注 0票数 0

我已经尝试阅读excel文件来遵循下面的教程。http://code.psjinx.com/xlsx.js/但我无法读取excel文件,因为在以下突出显示的行中存在未定义的情况...我已经在IE11中尝试过了。

代码语言:javascript
复制
var reader = new FileReader();

            reader.onload = function(e) {
                var data = e.target.result;
                var workbook = XLSX.read(data, {
                    type: 'binary'
                });

                obj.sheets = XLSXReader.utils.parseWorkbook(workbook, readCells, toJSON);
                handler(obj);
            }

            **reader.readAsBinaryString(file)**;
EN

回答 1

Stack Overflow用户

发布于 2014-12-22 16:35:34

如果您要从服务器加载xlsx文件,下面的答案将进行说明。对于上传,还有另一个代码。

选项1:这是一个在Alasql库中工作的过程:

请参见文件:15utility.js84from.js示例

代码语言:javascript
复制
readBinaryFile(filename,true,function(a){
    var workbook = X.read(data,{type:'binary'});
    // do what you need with parsed xlsx
});

// Read Binary reading procedure
// path - path to the file
// asy - true - async / false - sync

var readBinaryFile = utils.loadBinaryFile = function(path, asy, success, error) {
    if(typeof exports == 'object') {
        // For Node.js
        var fs = require('fs');
        var data = fs.readFileSync(path);
        var arr = new Array();
        for(var i = 0; i != data.length; ++i) arr[i] = String.fromCharCode(data[i]);
        success(arr.join(""));
    } else {
        // For browser
        var xhr = new XMLHttpRequest();
        xhr.open("GET", path, asy); // Async
        xhr.responseType = "arraybuffer";
        xhr.onload = function() {
            var data = new Uint8Array(xhr.response);
            var arr = new Array();
            for(var i = 0; i != data.length; ++i) arr[i] = String.fromCharCode(data[i]);
            success(arr.join(""));
        };
        xhr.send();
    };
};

选项2:您可以使用Alasql库本身,这可能是更简单的选择。

代码语言:javascript
复制
alasql('SELECT * FROM XLSX("myfile.xlsx",{headers:true,sheetid:"Sheet2",range:"A1:D100"})',
     [],function(data) {
     console.log(res);
});

请参阅此处(simple Excel reading demo)或此处(d3.js demo from Excel)的示例。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/27523406

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档