如何使用脚本在工作表中提取Google工作表公式?

时间:2016-08-12 10:37:54

标签: google-apps-script google-sheets

我使用脚本将数据从MySQL数据库导入到工作表中。在导入过程中,其他具有重型公式(vlookup,sumifs,filter)的工作表不断重新计算,因此需要永远。我希望一旦完全导入MySQL数据,就可以通过脚本插入公式。

为了简化这个过程,我想将一个文件中的所有公式提取到一个文件中(这是一个非常长的工作表),并将提取的数据格式化为这样:示例:从工作表中提取数据“摘要“:

  • 遍历工作表中的每个单元格
  • 阅读单元格内的公式
  • 使用下面的编码结构将其写入文件以便以后使用

例如:

cell A1 has formula "=SUM(B3:B4)"
cell A2 has formula "=C3+C5-C8"

输出到文件:

var sheet = SpreadsheetApp.getActive().getSheetByName('Summary');
var cell = sheet.getRange("A1");
cell.setFormula("=SUM(B3:B4)");
var cell = sheet.getRange("A2");
cell.setFormula("=C3+C5-C8)");

提前感谢您的建议。

1 个答案:

答案 0 :(得分:1)

您可以尝试将所有公式放入数组中,清除范围,进行处理,然后重新插入公式:

var rng = sheet.getRange("A1:B123");
var arr = rng.getFormulas();
rng.clear({contentsOnly: true});

...Do your processing...

rng.setFormulas(arr);