首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >ExcelJS节点:在exceljs中有没有将xlsx转换为json的方法/模块?

ExcelJS节点:在exceljs中有没有将xlsx转换为json的方法/模块?
EN

Stack Overflow用户
提问于 2017-12-18 11:10:21
回答 3查看 8.7K关注 0票数 3

https://github.com/guyonroche/exceljs

我对exceljs很陌生,只是在github i上看到了exceljs的描述。

.e:“将电子表格数据和样式读写到XLSX和JSON。”

我需要将workbook转换为JSON object,没有在exceljs中找到任何类似于csv的方法/模块。

如果有,请告诉我。

EN

回答 3

Stack Overflow用户

发布于 2019-03-29 12:29:51

我知道这个问题是老的,但我正在为其他可能处于我今天的处境的人发一个答案。

是的,有。

我在寻找和你一样的答案,但没有成功。经过一番搜索,我找到了一种方法。

代码语言:javascript
复制
import Exceljs from 'exceljs';

const workbook = new Exceljs.Workbook();
await workbook.xlsx.load(data);
const json = JSON.stringify(workbook.model);
console.log(json); // the json object

我结合了对问题的回应和精益求精的阅读来找出答案。我希望这能帮到你。

票数 9
EN

Stack Overflow用户

发布于 2018-08-31 13:48:47

使用exceljs从excel文件中获取值非常简单。

代码语言:javascript
复制
const book = [];
workbook.eachSheet( sheet => {
  const sheet = [];
  worksheet.eachRow(row => {
    sheet.push(row.values);
  });
book.push(sheet);
});

但是请看一下数组索引。细胞通常从1开始。

票数 4
EN

Stack Overflow用户

发布于 2022-05-13 12:28:41

代码语言:javascript
复制
    // data
    let excelTitles = [];
    let excelData = [];

    // excel to json converter (only the first sheet)
    workbook.worksheets[0].eachRow((row, rowNumber) => {
        // rowNumber 0 is empty
        if (rowNumber > 0) {
            // get values from row
            let rowValues = row.values;
            // remove first element (extra without reason)
            rowValues.shift();
            // titles row
            if (rowNumber === 1) excelTitles = rowValues;
            // table data
            else {
                // create object with the titles and the row values (if any)
                let rowObject = {}
                for (let i = 0; i < excelTitles.length; i++) {
                    let title = excelTitles[i];
                    let value = rowValues[i] ? rowValues[i] : '';
                    rowObject[title] = value;
                }
                excelData.push(rowObject);
            }
        }
    })
    console.log(excelData);
    return;
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/47867234

复制
相关文章

相似问题

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