簡體   English   中英

使用谷歌應用程序腳本導入 csv

[英]import csv with google apps script

我需要幫助,

我發現此代碼可以使用應用程序腳本在谷歌表中導入 csv。 這是工作查找,但我想在另一張工作表中導入到同一個文件。

我找不到輸入工作表編號 ( gid ) 的代碼

function myFunction() {
  function importData()
  {
    var ss = SpreadsheetApp.getActive();
    var url = 'https://your-data-source.csv';
    var text = UrlFetchApp.fetch(url).getContentText();
    var csvData = Utilities.parseCsv(text);
    var sheet = ss.getSheetByName('Sheet1');
    for (var i = 0; i < csvData.length; i++) {
      sheet.getRange(i+1, 1, 1, csvData[i].length).setValues(new Array(csvData[i]));
    }
  }
  importData();
}

例子

謝謝

我相信你的目標如下。

  • 您想使用 Google Apps 腳本將 CSV 數據放入活動電子表格中的規格表。
  • i can't find the code to enter number ( gid ) of my sheet ,您想使用工作表 ID (gid) 選擇工作表。

改裝要點:

  • 為了將值放到特定的工作表中,可以通過修改var sheet = ss.getSheetByName('Sheet1');來實現var sheet = ss.getSheetByName('Sheet1'); var sheet = ss.getSheetByName('importCSV'); 從您的示例圖像。
  • 如果您想使用工作表 ID (gid) 選擇工作表,您可以使用類似var sheet = ss.getSheets().filter(s => s.getSheetId() == gid);的腳本var sheet = ss.getSheets().filter(s => s.getSheetId() == gid); .
  • 在您的腳本中,每一行都循環放入工作表中。 在這種情況下,工藝成本會很高。 您可以將 for 循環修改為sheet.getRange(1, 1, csvData.length, csvData[0].length).setValues(csvData); .

當以上幾點反映在你的腳本中時,它變成如下。

修改后的腳本:

在此修改后的腳本中,CSV 數據使用工作表 ID (gid) 放入特定工作表。

function myFunction() {
  var ss = SpreadsheetApp.getActive();
  var url = 'https://your-data-source.csv';
  var text = UrlFetchApp.fetch(url).getContentText();
  var csvData = Utilities.parseCsv(text);

  var gid = "1234567890";  // Please set your sheet ID (gid).
  var sheet = ss.getSheets().filter(s => s.getSheetId() == gid);
  if (sheet.length == 1) {
    sheet[0].getRange(1, 1, csvData.length, csvData[0].length).setValues(csvData);
  }
}

或者,您也可以通過修改var sheet = ss.getSheetByName('Sheet1');來實現您的目標var sheet = ss.getSheetByName('Sheet1'); var sheet = ss.getSheetByName('importCSV'); . 在這個修改后的腳本中,CSV 數據被放入工作表importCSV

function myFunction() {
  var ss = SpreadsheetApp.getActive();
  var url = 'https://your-data-source.csv';
  var text = UrlFetchApp.fetch(url).getContentText();
  var csvData = Utilities.parseCsv(text);

  var sheet = ss.getSheetByName('importCSV');  // Please set the sheet name.
  sheet[0].getRange(1, 1, csvData.length, csvData[0].length).setValues(csvData);
}

筆記:

  • 作為附加信息,當您想將 CSV 數據放入其他電子表格中的工作表時,您可以通過修改var ss = SpreadsheetApp.getActive();來實現此目的var ss = SpreadsheetApp.getActive(); var ss = SpreadsheetApp.openById("###Spreadsheet title###"); .

參考:

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM