0

我有一个 excel 表,其中有一列包含 json 格式的数据。我想将此表转换为 json。其他两列被转换为 json,但这个特定的列不能被视为 json 对象,而是变成一个字符串。JSON.parse() 不适用于此字符串并引发语法错误。以下是我尝试过的事情:

  • 使用 xlsx 包将 excel 工作表转换为 json
  • 使用 csvtojson 包将 excel 转换为 csv 到 json

两者都没有帮助我成功地将最后一列转换为 json 对象下面是我的代码:

let xlsx = require("xlsx")
const csvtojson = require("csvtojson")
let path = require("path")
let fs = require("fs");

const inputFilePath = path.join(__dirname, './mastersheet.xlsx');
let File = xlsx.readFile(inputFilePath);
let content = xlsx.utils.sheet_to_csv(File.Sheets['Sheet6']);

fs.writeFile('./mastersheet.csv', content, (err) => {
    if (err) console.log(err)
})

csvtojson()
    .fromFile('./mastersheet.csv')
    .then((jsonObj) => {
         console.log(jsonObj);
         fs.writeFileSync("mastersheet.json", JSON.stringify(validJsonData), 'utf8', (err) => {
             if (err) console.log(err);
         })
    });

任何帮助表示赞赏。

4

1 回答 1

0

您可以使用convert-excel-to-json并将 excel 转换为 json,如下所示:

const excelToJson = require('convert-excel-to-json');
const fs = require('fs');

const result = excelToJson({
    source: fs.readFileSync('exlTest.xlsx'),
    header:{
        rows: 1
    }
});
console.log('result :', result);
于 2021-05-22T07:03:04.960 回答