Dovevo velocemente unire in un nuovo file, senza fare copia e incolla o mettermi a studiare Power Query, una lunga serie di file Excel contenente degli elenchi di nomi utenti con le loro informazioni relative. Ho chiesto così a ChatGPT se la cosa era fattibile con PowerShell e il risultato è stato un piccolo script estremamente veloce nel fare le operazioni di unione e creazione di un nuovo file.
Una premessa prima di continuare con il resto dell'articolo, i file da unire devono avere una struttura simile, essere per esempio una tabella con elenchi di nomi, indirizzi e numeri di telefono. Ho provato ad unire anche file molto diversi tra di loro, cioè un elenco semplice con uno che aveva tabelle e riferimenti complessi, ma il risultato finale non è stato dei migliori con errori e perdite di dati nel file finale.
In ogni caso dovete agire su delle copie dei file originali e quindi non andrete incontro al rischio di perdere dati importanti.
Procedura
La prima cosa da fare è installare il modulo ImportExcel dalla PowerShell Gallery con il comando Install-Module -Name ImportExcel.
Vi comparirà l'avviso di Untrusted repository ma accettate l'installazione del modulo, io ho reso "Trusted" la PowerShell Gallery e quindi non lo visualizzo più.

La prima cosa da fare è copiare i file da unire in una cartella qualsiasi, nel mio caso ho scelto C:\temp ma potete usarne una qualsiasi e modificare queste due righe nello script. Come potete cambiare anche il nome del file unito finale.

Per mia necessità dovevo sapere da quale file originale provenivano i dati, così ho fatto aggiungere una colonna che contenesse questa informazione. Se questo dato non vi interessa, cancellate, o commentate con un # all'inizio, queste righe.

Questo è l'effetto dello script in esecuzione.
