如何将工作表中的所有数据转换为值 - 谷歌电子表格

时间:2014-11-10 13:14:09

标签: google-apps-script google-sheets

我试图找到以下解决方案:

有几张表格使用公式。 这些工作表中的数据会在一天结束时手动复制到单个“存档”工作表中。 “存档”中的数据应仅作为值粘贴。 我不是每次都将粘贴复制为值,而是尝试自动执行此过程。

在值中自动转换粘贴到“存档”中的数据的脚本是什么? 有一个按钮来触发这个脚本也很棒。

有人可以帮忙吗?

非常感谢

2 个答案:

答案 0 :(得分:0)

提供全局逻辑。 你应该看看这些方法。

SpreadsheetApp.Spreadsheet.Sheet.Range.getValues();

SpreadsheetApp.Spreadsheet.Sheet.Range.setValues();

如果我没有记错的话, 此函数应该在2D数组中获取数据。 然后将Them作为字符串粘贴到电子表格中。

干杯

答案 1 :(得分:0)

我很确定这已经得到了解答,但由于我没有快速找到它,我写了一个实现该结果的可能方法之一的小例子:(见代码中的注释)< / p>

function createArchive(){
  var currentSheet = SpreadsheetApp.getActive().getActiveSheet();// get current sheet object
  var archive = SpreadsheetApp.getActive().copy('archive of '+currentSheet.getName()).getSheets()[0]; // create a copy and get its first sheet
  var content = currentSheet.getDataRange().getValues();// get the values of the whole current sheet
  archive.getRange(1,1,content.length,content[0].length).setValues(content);// and "paste" it in the copy while preserving initial format (font, colors, borders etc.
}