web-dev-qa-db-fra.com

Comment des colonnes spécifiques d'une feuille de calcul Google peuvent-elles être exportées au format CSV?

J'ai une feuille de calcul Google avec 10 colonnes de données. Je voudrais exporter les colonnes A, C, E, F en tant que csv. Je n'ai pas besoin d'exporter l'intégralité de la feuille de calcul. Cela peut-il être fait? Cela ne me dérange pas d'utiliser Google script.

5
curious

Un script ne peut pas vous donner un fichier (eh bien, il pourrait vous l'envoyer par courrier électronique, mais je pense que cela va trop loin). Vous devez utiliser la commande de menu "enregistrer en tant que csv", et comme elle n'enregistre que la feuille en cours, vous devez créer une feuille qui ne contient que ces colonnes.

La méthode la plus simple consiste à créer une nouvelle feuille et à taper la cellule A1.

={'My Sheet'!A:A, 'My Sheet'!C:C, 'My Sheet'!E:F}

Si vous devez faire cela souvent, retaper tout ce texte avec le nom de la feuille partout deviendra vieux. C'est là qu'un script peut être utile. Voici une fonction qui suppose que vous entrez simplement

My Sheet,A,C,E,F

dans la cellule A1 et convertit cette entrée en une formule.

function csv() {
  var sheet = SpreadsheetApp.getActiveSheet();
  var data = sheet.getRange(1, 1).getValue().split(',');
  var formula = [];
  for (i = 1; i < data.length; i++) {
    formula.Push("'" + data[0] + "'!" + data[i] + ':' + data[i]);
  }
  sheet.getRange(1, 1).setFormula('={' + formula.join(',') + '}');
}
8
user79865