Descubriendo módulos: Exportar a Excel con PowerShell
Este post es el primero de la nueva serie “Descubriendo módulos” en la que instalaremos módulos de terceros publicados en los distintos canales online y juguetearemos con su funcionalidad. En esta primera entrega veremos el módulo ImportExcel, que nos permitirá, entre otras cosas,** exportar a Excel con PowerShell** con su función Export-Excel.
Descargando ImportExcel
Tal como vimos en la introducción a los módulos de PowerShell existen distintos sitios en los que encontrar módulos de PowerShell, pero sin duda el mejor y el que más cómodo nos va a resultar es la PowerShell Gallery. Para nuestra suerte ImportExcel está publicado en dicho repositorio, por lo que para instalarlo simplemente nos valdremos de Install-Module:
|
|
Si no hemos autorizado explicítamente la instalación desde PSGallery nos aparecerá un mensaje como el siguiente:
|
|
Podemos simplemente decirle que sí y permitir la instalación o bien podemos autorizar el origen para así evitarnos el mensaje en futuras instalaciones con:
|
|
Una vez instalado podemos ver con Get-Command todas las funciones que se han instalado en nuestro equipo:
Exportar a Excel con PowerShell e ImportExcel
Si bien la exportación a csv que incorpora PowerShell con Export-Csv funciona a las mil maravillas con Export-Excel podemos llevar las exportaciones a otro nivel si lo que pretendemos es consumir directamente dicha exportación.
Empecemos a trastear, esta sería la exportación básica:
|
|
Que nos daría un resultado como este:
Si bien es un adelanto respecto a una exportación a csv tampoco nos aporta mucho. Para empezar podríamos ajustar el ancho de las columnas que daña a la vista y, por ejemplo, podríamos poner en negrita la primera fila para que se vea que es el encabezado:
|
|
Bueno, bueno, esto ya tiene otra pinta. Para hacer la tabla más manejable se nos podría ocurrir añadir autofiltro:
|
|
Si queremos ir un paso más allá Export-Excel nos permite incluso jugar con formatos condicionales. Vamos a darle un poco de color:
|
|
Y ya por último, podemos probar a generar tablas dinámicas utilizando los datos que hemos extraído:
|
|
Conclusión
Y hasta aquí el primer “Descubriendo módulos” en el que hemos visto una buena forma de exportar datos obtenidos con PowerShell y que puede funcionar a las mil maravillas en nuestros scripts de reporting programados. Os invito a que descarguéis el módulo y trasteeis con él puesto que tiene infinidad de opciones que no hemos tocado en esta entrada.