[英]Copy google sheets data to another workbook with text formula as static text
I have the code below that copies data from one google sheets workbook to another however I do have a formula that is copying as a date value however I want it to copy as a text value.我有下面的代码,可以将数据从一个 google 工作表工作簿复制到另一个工作簿,但是我确实有一个公式正在复制为日期值,但是我希望它复制为文本值。 It is currently copying as 01/01/2023 11;20:00 (date) I want it to copy as 01/01/2020 11:20 AM (text)目前正在复制为 01/01/2023 11;20:00(日期)我希望它复制为 01/01/2020 11:20 AM(文本)
=arrayformula(text(A2:A, "dd/mm/yyyy hh:mm am/pm")
var sourceSpreadsheetID = "ID1";
var sourceWorksheetName = "Overview";
var targetSpreadsheetID = "ID2";
var targetWorksheetName = "Overview Static";
function importData() {
var thisSpreadsheet = SpreadsheetApp.openById(sourceSpreadsheetID);
var thisWorksheet = thisSpreadsheet.getSheetByName(sourceWorksheetName);
var thisData = thisWorksheet.getDataRange();
//Uncomment line 11 below and comment out line 9 if you want to sync a named range. Replace "teamBugs" with your named range.
//var thisData = thisSpreadsheet.getRangeByName("data");
var toSpreadsheet = SpreadsheetApp.openById(targetSpreadsheetID);
var toWorksheet = toSpreadsheet.getSheetByName(targetWorksheetName);
var toRange = toWorksheet.getRange(1, 1, thisData.getNumRows(), thisData.getNumColumns())
toRange.setValues(thisData.getValues());
}
var sourceSpreadsheetID = "ID1";
var sourceWorksheetName = "Overview";
var targetSpreadsheetID = "ID2";
var targetWorksheetName = "Overview Static";
function importData() {
var thisSpreadsheet = SpreadsheetApp.openById(sourceSpreadsheetID);
var thisWorksheet = thisSpreadsheet.getSheetByName(sourceWorksheetName);
var thisData = thisWorksheet.getDataRange();
//Uncomment line 11 below and comment out line 9 if you want to sync a named range. Replace "teamBugs" with your named range.
//var thisData = thisSpreadsheet.getRangeByName("data");
var ts = thisSpreadsheet.getSpreadsheetTimeZone();
var replacedData = thisData.getValues().map(row =>
row.map((v, i) =>
// Assuming the dates are in the first column
i === 0 ? Utilities.formatDate(v, ts, 'dd/MM/yyyy HH:mm a') : v
)
);
var toSpreadsheet = SpreadsheetApp.openById(targetSpreadsheetID);
var toWorksheet = toSpreadsheet.getSheetByName(targetWorksheetName);
var toRange = toWorksheet.getRange(1, 1, thisData.getNumRows(), thisData.getNumColumns())
toRange.setValues(replacedData);
}
Referneces:参考文献:
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.