如何解决Excel JS API-将精确范围值,格式和公式复制并存储在json文件中,以便以后使用以生成相同范围的值
使用office js api,您可以将一系列单元格复制到另一个单元格中,并使用类似于以下代码的形式保留值,公式和格式中的所有内容:
sheet.getRange(“A1”).copyFrom("M9:R424");
我想复制此功能,而不是将单元格的值,公式和格式存储在excel文件中,而是将它们存储在json文件中(位于应用程序外部的db中),以便可以根据需要动态创建带有范围/单元格的工作表,以减小excel文件的大小并确保用户不会意外编辑模板范围。
到目前为止,我已经能够从json复制值和公式,但是在格式方面遇到了麻烦。您可以从范围中获取一个格式对象:
range.format
但是当我使用以下方式将这种格式转换为json时
range.format.toJSON()
缺少大量参数(例如,单元格填充颜色,边框轮廓)。
有人知道一种将范围格式转换为json或存储和复制此数据的最佳方法吗?
解决方法
我们有RangeFill和RangeBorderCollection类,您可以使用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);
});
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。