我需要以编程方式将数据从一张谷歌工作表复制到另一张谷歌工作表。在目标工作表中,日期格式为 dd-mmm-yyyy,而源工作表中的日期格式为 dd-mm-yyyy。复制数据时保留目标表中的格式的最佳方法是什么?
最佳答案
如果您要将数据范围从一张工作表复制到同一电子表格的另一张工作表,并且希望保留格式:
您可以使用方法copyTo(destination, options)对于范围。选项 contentsOnly:true
将确保仅复制内容,同时保留目标工作表的格式。
示例:
function myFunction() {
var ss=SpreadsheetApp.getActive();
var sheet1=ss.getSheetByName('Sheet1');
var sheet2=ss.getSheetByName('Sheet2');
sheet1.getDataRange().copyTo(sheet2.getRange("A1"), {contentsOnly:true});
}
更新
如果您想要将数据范围从一个电子表格复制到另一个电子表格并且想要保留格式:
您可以使用方法getValues()和 setValues() 。这只会复制值并保留目标工作表的格式。
示例:
function myFunction() {
var ss=SpreadsheetApp.getActive();
var ss2=SpreadsheetApp.openById('XXXXXXXXXXXXXXXXXXXXXXXXX');
var sheet1=ss.getSheetByName('Sheet1');
var sheet2=ss2.getSheetByName('Sheet1');
var values=sheet1.getDataRange().getValues();
var range=sheet1.getDataRange().getA1Notation();
sheet2.getRange(range).setValues(values);
}
关于java - Google 电子表格更新列中的数据格式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58162702/