Javascript, HTML, CSS e... !
0 commenti

Da Google Spreadsheet a Microsoft Excel nella tua casella di posta

Convertire un Google Spreadsheet in un file Microsoft Excel

In un altro articolo ho mostrato come sia possibile convertire un documento di Microsoft Excel in un Google Spreadsheet per trovarlo pronto all'uso nel proprio Google Drive.

Tuttavia anche la conversione inversa, ovvero da Google Spreadsheet a file Microsoft Excel può essere altrettanto utile nonché necessaria qualora si volesse esportare i documenti di Google su un disco fisso o inviarli via email ad un collaboratore senza condividere il file originale.

Il codice seguente consente, specificando l'ID di un Foglio di Google, di convertirlo in file Excel ed inviarlo come allegato di una email all'indirizzo di posta desiderato:

function getGoogleSpreadsheetAsExcel() {
  
  try {

    var ss_id = "1X4LzOKp-ZXsxMRNWm30..."; // ID dello Spreadsheet
    var email_to = "destinatario@mail.it";
    var email_subj = "Excel convertito da Spreadsheet";
    var email_text = "Il file Excel si trova in allegato";

    ss = SpreadsheetApp.openById(ss_id);
    var url = "https://docs.google.com/feeds/download/spreadsheets/Export?key=" + ss_id + "&exportFormat=xlsx";
        
    var params = {
      method      : "get",
      headers     : { "Authorization": "Bearer " + ScriptApp.getOAuthToken() },
      muteHttpExceptions: true
    };
    
    var blob = UrlFetchApp.fetch(url, params).getBlob();   
    blob.setName(ss.getName() + ".xlsx");
    
    MailApp.sendEmail(email_to, email_subj, email_text, { attachments: [blob]} );
    
  } catch (f) {
    Logger.log(f.toString());
  }
}

Le variabili di configurazione consentono di definire oltre all'identificativo del file da convertire anche la mail del destinatario, l'oggetto della mail ed il testo.
L'uso del costrutto try...catch consente di gestire eventuali eccezioni.

Da precisare che la funzione di cui sopra non necessita dell'abilitazione delle Drive API per eseguire l'operazione.

Adattando il codice alle proprie esigenze è possibile creare strumenti molto utili e automatizzati, ad esempio per processare tutti gli Spreadsheet presenti in una particolare cartella ed inviarli via mail convertiti in Excel oppure crearsi giornalmente un archivio o un backup su Google Drive di Fogli di Google convertiti in Excel per mantenere lo storico delle attività quotidiane.

 

Puoi trovare molte altre informazioni sulla gestione degli Spreadsheet da Apps Script nel mio libro "Punta in alto con... Google Apps Script":

ACQUISTA ORA IL LIBRO SU AMAZON:

punta in alto con google apps script libro italiano

Se sei pronto a diventare un esperto nella programmazione in Google Apps Script non posso fare altro che augurarti una buona lettura e soprattutto... Buon divertimento!

 

Tags

Michele Pisani

Michele Pisani

Sviluppatore Javascript ed esperto in Digital Analytics

L'esperienza nel settore Digital Analytics unita ad anni di sviluppo in Javascript ha trovato la massima espressione in Google Apps Script che mi ha permesso, con estrema facilità e poche righe di codice, di realizzare potenti applicazioni interattive e processi automatizzati integrati con i prodotti della G Suite.

Come contattarmi
scrivi un commento

0 Commenti

Non ci sono commenti

Nessuno ha ancora commentato questo articolo, fallo tu per primo!

scrivi un commento

Scrivi un commento

Il tuo indirizzo email non sarà pubblicato.I campi contrassegnati da un * sono obbligatori
Puoi utilizzare i seguenti tag nei commenti:
[bold]testo[/bold] se vuoi evidenziare un testo con il grassetto[code]function helloworld() { }[/code] se vuoi pubblicare una porzione di codice[url]http://www.appsscript.it[/url] se devi riferirti ad un indirizzo web