首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用Sheetjs访问单元格

使用Sheetjs访问单元格
EN

Stack Overflow用户
提问于 2018-02-16 05:53:56
回答 2查看 12.1K关注 0票数 5

我在这里遵循了演示:https://github.com/SheetJS/js-xlsx/tree/master/demos/electron

我可以将一个excel文件拖到我的电子应用程序中。

documentation 说,您可以使用以下命令访问每个单元:

代码语言:javascript
复制
for(var R = range.s.r; R <= range.e.r; ++R) {
  for(var C = range.s.c; C <= range.e.c; ++C) {
    var cell_address = {c:C, r:R};
    /* if an A1-style address is needed, encode the address */
    var cell_ref = XLSX.utils.encode_cell(cell_address);
  }
}

如何在下面的代码中使用它?我获得了存储在test变量中的文件内容,但我无法访问它。文档中缺少那里的信息。

代码语言:javascript
复制
var do_file = (function() {
    return function do_file(files) {
        var f = files[0];
        var reader = new FileReader();
        reader.onload = function(e) {
            var data = e.target.result;
            data = new Uint8Array(data);
            test = XLSX.read(data, {type: 'array'});
            console.log(test);
        };
        reader.readAsArrayBuffer(f);
    };
})();

我不知道如何开始,提前谢谢

EN

回答 2

Stack Overflow用户

发布于 2018-02-16 21:15:11

它是这样的:

代码语言:javascript
复制
var do_file = (function() {
    return function do_file(files) {
        var f = files[0];
        var reader = new FileReader();
        reader.onload = function(e) {
            var data = e.target.result;
            data = new Uint8Array(data);
            //process_wb(XLSX.read(data, {type: 'array'}));
                        /* read the file */
            var workbook = XLSX.read(data, {type: 'array'}); // parse the file
            var sheet = workbook.Sheets[workbook.SheetNames[0]]; // get the first worksheet

            /* loop through every cell manually */
            var range = XLSX.utils.decode_range(sheet['!ref']); // get the range
            for(var R = range.s.r; R <= range.e.r; ++R) {
              for(var C = range.s.c; C <= range.e.c; ++C) {
                /* find the cell object */
                console.log('Row : ' + R);
                console.log('Column : ' + C);
                var cellref = XLSX.utils.encode_cell({c:C, r:R}); // construct A1 reference for cell
                if(!sheet[cellref]) continue; // if cell doesn't exist, move on
                var cell = sheet[cellref];
                console.log(cell.v);

        };
        reader.readAsArrayBuffer(f);
    };
})();
票数 10
EN

Stack Overflow用户

发布于 2020-04-09 19:46:22

通常,您可以访问具有标准excel坐标的单元格,如

代码语言:javascript
复制
console.log(sheet['My Sheet Name']['B3'].v);

在这里查看完整的数据类型:https://github.com/SheetJS/sheetjs/blob/master/README.md#cell-object

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

https://stackoverflow.com/questions/48816940

复制
相关文章

相似问题

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