Office js Excel JS API-将精确的范围值、格式和公式复制并存储在json文件中,以便以后生成相同范围的值

Office js Excel JS API-将精确的范围值、格式和公式复制并存储在json文件中,以便以后生成相同范围的值,office-js,Office Js,使用office js api,您可以将一个单元格区域复制到另一个单元格区域,并使用如下代码保留值、公式和格式的所有内容: sheet.getRange(“A1”).copyFrom("M9:R424"); 我想复制这个功能,但不是将单元格的值、公式和格式存储在excel文件中,而是将它们存储在json文件中(在应用程序外部的db中)因此,我可以根据需要动态创建包含范围/单元格的工作表,以减小excel文件的大小,并确保用户不会意外地编辑模板范围 到目前为止,我已经能够复制

使用office js api,您可以将一个单元格区域复制到另一个单元格区域,并使用如下代码保留值、公式和格式的所有内容:

sheet.getRange(“A1”).copyFrom("M9:R424");
我想复制这个功能,但不是将单元格的值、公式和格式存储在excel文件中,而是将它们存储在json文件中(在应用程序外部的db中)因此,我可以根据需要动态创建包含范围/单元格的工作表,以减小excel文件的大小,并确保用户不会意外地编辑模板范围

到目前为止,我已经能够复制json中的值和公式,但在格式方面遇到了问题。您可以从以下范围获得一个format对象:

range.format
但当我使用以下命令将此格式转换为json时:

range.format.toJSON()
缺少大量参数(例如单元格填充颜色、边框轮廓)

是否有人知道将范围格式转换为json或存储和复制此数据的更优化的方法?

我们有一个类,您可以使用
toJSON()
API获取单元格填充颜色和边框颜色

  await Excel.run(async (context) => {

    var range = context.workbook.getActiveCell();
    range.format.fill.load();
    range.format.borders.load();
    await context.sync();

    var JSON = range.format.fill.toJSON();
    var JSON2 = range.format.borders.toJSON();

    console.log(JSON);
    console.log(JSON2);

  });

我想这让我朝着正确的方向前进,所以谢谢你。您可以发布一个使用toJSON()API的示例代码片段吗?无论何时我使用它,我都会得到一个空对象,所以我显然做错了什么。还有,有没有一种方法可以在一次扫描中获得所有这些属性,而不是单独调用它们?谢谢下周初我会为你准备一个谢谢!谢谢你的时间!我刚刚更新了代码示例。谢谢您的提醒