
[英]how to automatically import multiple csv files into Google Sheets using Apps Script
[英]How Can I Preserve Existing Formatting on a Google Sheets Apps Script CSV Import
在重复导入到同一工作表中时,大多数格式都会保留(例如颜色),但有些不会(例如将列设置为 % 格式)。 如何在重复导入 csv 之前保留工作表中已有的所有格式,例如,重复更新工作表的脚本如下(其中“文件”是 Google 云端硬盘上的 csv 文件):
var content = file.getBlob().getDataAsString(); # csv file on a Google Drive
var csvData = Utilities.parseCsv(content);
current_sheet.clearContents();
current_sheet.getRange(1, 1, csvData.length, csvData[0].length).setValues(csvData);
已解决:借助这篇文章: Copy value and format from a sheet to a new google Spreadsheet document?
第一行和最后一行是解决方案:
var sNF = current_sheet.getDataRange().getNumberFormats();
var content = file.getBlob().getDataAsString(); # csv file on a Google Drive
var csvData = Utilities.parseCsv(content);
current_sheet.clearContents();
current_sheet.getRange(1, 1, csvData.length, csvData[0].length).setValues(csvData);
current_sheet.getDataRange().setNumberFormats(sNF)
我刚刚使用下面的脚本进行了快速测试,并保留了单元格格式。
function importCSVFromWeb() {
// Provide the full URL of the CSV file.
var csvUrl = "https://query1.finance.yahoo.com/v7/finance/download/MSFT?period1=1577806579&period2=1609428979&interval=1d&events=history&includeAdjustedClose=true";
var csvContent = UrlFetchApp.fetch(csvUrl).getContentText();
var csvData = Utilities.parseCsv(csvContent);
var sheet = SpreadsheetApp.getActiveSheet();
sheet.clearContents();
sheet.getRange(1, 1, csvData.length, csvData[0].length).setValues(csvData);
}
我获取数据的方式略有不同
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.