python
Esperienze positive: compilare un foglio excel utilizzando il linguaggio python
Gabriele Battaglia su universal-access, 03\02\2015, h. 16.01.

La cosa che sto per raccontarvi è ot perchè non riguarda esplicitamente il mondo Apple, ma potrei 
dire che è in tema perchè è piena di passione, io lo chiamerei entusiasmo, amore addirittura, per 
l'informatica e per quanto la conoscenza di questo mondo possa rendere, a volte tantissimo, a volte 
con piccoli passi, più indipendente la nostra vita.
La piccola avventura che sto vivendo da ieri è l'esempio perfetto di uno di questi piccoli, 
piccolissimi passi in questa direzione, piccoli ma che, almeno a me, danno una grande gioia. Mi 
sembra di sprizzare energia positiva da tutti pori, sono letteralmente contento, felice, e quando 
si è in questo stato, io penso, non importa più che cosa ti ci abbia portato, quale raggiungimento 
tu abbia ottenuto per essere così, ciò che conta è esserci, e niente altro.

Beh, lo sapete ormai, ci sono 2 cose, quando scrivo, che non riesco a lasciar chiuse nel cassetto: 
l'ironia ed un po di filosofia spicciola, quella filosofia che danno alla mutua, tanto per dire, a 
buon mercato, anzi gratis. Fatene ciò che volete, il mio medico dice che non è dannosa per la 
salute e può essere liberamente assunta da chiunque in base alla vostra costituzione fisica.

Detto questo, veniamo all'informatica.

A lavoro da me c'è questa regola: al termine di ogni mese, va compilato un foglio excel che riporta 
i dati sulle presenze mensili. Ogni dipendente deve compilare il proprio segnando le gli orari di 
entrata, di uscita, gli eventuali permessi, nel mio caso la 104... la tipologia del permesso, il 
totale delle ore, gli straordinari, inizio e fine della pausa pranzo, la propria matricola eccetera.
In genere ognuno, almeno io lo faccio, tiene un modello già compilato ed ogni mese apporta le 
variazioni del caso. Non è un lavoro ne particolarmente impegnativo, ne dispendioso in termini di 
tempo e tuttavia va fatto.

Bene, mi son detto. Possibile che non ci sia modo di automatizzare un pochino le cose? Allora ho 
aperto il mio magico Python, che apprezzo ogni giorno di più per la sua incredibile potenza e 
flessibilità... Ho iniziato a studiarmi la libreria che riguarda le interazioni fra il linguaggio 
ed Excel, e mi sono fatto un'idea di come questi 2 pacchetti software possono comunicare fra loro. 
Avrei potuto dirigere la comunicazione direttamente sfruttando le API di Windows, attraverso la 
libreria inclusa win32com.client ma, su suggerimento di un iscritto alla mailinglist italiana di 
Python, ho trovato, scaricato ed installato un piccolo modulo esterno: xlsxwriter, letteralmente, 
lo scrittore di file xlsx, uno dei formato di Excel.

Sul sito del programmatore di questo modulo, c'è un bel tutorial che guida passo passo nella 
scrittura di un foglio di Excel usando Python... Prima si aggiungono dati, poi la formattazione... 
Si impara come dire allo script dove sono le celle, cosa scriverci dentro, come impostare le 
formule!

Ho iniziato a mettere in pratica ciò che studiavo, sono a pagina 3 e il mio script è alla versione 
Alpha 0.2.0. Ci credereste? Lo lancio, e dal nulla mi appare un foglio.xlsx. Se premo invio, Excel 
lo apre e lo legge perfettamente, già molte celle, quelle con l'intestazione, sono compilate 
perfettamente... Excel mette già la data di anno e mese correttamente e nei posti giusti, una riga 
di celle sono già viste come intestazione, è semplicemente fantastico.

Fra qualche versione, il programma mi chiederà: quando hai preso la 104 in questo mese? Ed io 
risponderò con 3 numeri, e lui compilerà il foglio in frazioni di secondo facendomelo trovare 
pronto in una cartella, ed io dovrò solo inviarlo per posta.
Ah, fra virgolette, anche l'invio per posta è una cosa che Python gestisce perfettamente, se ho 
voglia aggiungerò il modulo alla mia creaturina. 
Torna all'indice