在 Excel JavaScript API 中加载 Json或 csv 或任何其他平面文件

问题描述

我正在尝试创建一个 JS Add in for Excel,它将在 Excel 中加载本地 JSON 文件。我检查了 MS 文档,但找不到任何内容。我在谷歌上搜索了它,但通过 Node.JS 找到了解决方案,它似乎无法在 Excel API 中工作。

我设法在浏览器中加载数据,但无法在 Excel 中复制相同的数据。

如果我在代码中对 JSON 进行硬编码,我就能够检索数据。

以下工作:

const JsonCode = 
{"employees":[
  { "firstName":"John","lastName":"Doe" },{ "firstName":"Anna","lastName":"Smith" },{ "firstName":"Peter","lastName":"Jones" }
]}

function readJson() {
  Excel.run(function (context) {
    //var sheet = context.workbook.worksheets.getItem("Sheet1");
    var sheet = context.workbook.worksheets.getActiveWorksheet();
    var range = sheet.getRange("C2");
    
    var output = JsonCode.employees[2].lastName
    range.values = output
    //range.format.autofitColumns();

    return context.sync();
})
  .catch(console.log("Error: "))
}

但是如果文件是外部文件,我无法在 JS 中读取它。

我尝试过:

    fetch('Test.JSON')
      .then(response => response.text())
      .then((data) => {
      console.log(data)

function getJson2(){
  Excel.run(function (context) {
    var sheet = context.workbook.worksheets.getActiveWorksheet();
    var range = sheet.getRange("C3");
    const reader = new FileReader();
    var mydata = reader.readAsText(document.getElementById('get_the_file'))
    var mydataparsed = JSON.parse(mydata)
    var output = mydataparsed.employees[2].lastName
    range.values = output

但我得到“未定义”或“未定义 FileReader”。

有没有办法在 Excel JavaScript API 中读取 JS 变量中的 JSON 文件

感谢您的帮助!!

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)