var spreadsheetSourceUrl = "https://docs.google.com/spreadsheets/d/1-a1njGi0h-j5sO80rhmgQZfpI8c2oA_sY5tuXGCNRjo/edit"; var csvDataSourceUrl = "https://data.cdc.gov.tw/download?resourceid=3c1e263d-16ec-4d70-b56c-21c9e2171fc7&dataurl=https://od.cdc.gov.tw/eic/Day_Confirmation_Age_County_Gender_19CoV.csv"; var dataSheetName = "原始資料";
function getParsedContents(csvUrl) { return Utilities.parseCsv(UrlFetchApp.fetch(csvUrl)); }
function clearSheetContentsByUrl(spreadsheet, sheetName) { let sheet = spreadsheet.getSheetByName(sheetName); sheet.clearContents(); }
function updateSheet(spreadsheet, sheetName, rangeDescription, contents) { let sheet = spreadsheet.getSheetByName(sheetName); let range = sheet.getRange(rangeDescription); range.setValues(contents); }
function tweakFormat(spreadsheet, sheetName, contents) { let sheet = spreadsheet.getSheetByName(sheetName);
let range = sheet.getRange(`${String.fromCharCode(64+contents[0].length-1)}2:${String.fromCharCode(64+contents[0].length-1)}${contents.length}`); range.setNumberFormat("@");
range = sheet.getRange("B2:B"); range.setNumberFormat("yyyymmdd"); range.setNumberFormat("@"); range.setNumberFormat("########"); }
function main() { Logger.log("Getting source data"); let parsedContents = getParsedContents(csvDataSourceUrl); Logger.log(parsedContents); Logger.log(`Source data got, number of rows in the CSV: ${parsedContents.length}`);
if (parsedContents.length == 0) { Logger.log("ERROR: source is empty"); return; }
let spreadsheet = SpreadsheetApp.openByUrl(spreadsheetSourceUrl);
Logger.log("Clearing the existing contents from the sheet"); clearSheetContentsByUrl(spreadsheet, dataSheetName) Logger.log("Content cleared from the sheet");
Logger.log("Updating the sheet"); updateSheet( spreadsheet, dataSheetName, `A1:${String.fromCharCode(64+parsedContents[0].length)}${parsedContents.length}`, parsedContents); Logger.log("Sheet updated");