Excel desde PowerShell

A continuaci贸n vamos a ver como usar Excel desde PowerShell, como crear archivos, manipularlos y darles formato desde la consola de PowerShell.

Manipular datos hoy es uno de los tareas fundamentales dentro de las 谩reas de sistemas, en especial dentro de los departamentos de infraestrucutra y administraci贸n de sistemas. A su vez, Excel es uno de esos programas que nunca pasa de moda, por lo que nunca est谩 de m谩s conocer como sacarle provecho a nuestras tareas diarias.

Para manipular la aplicaci贸n Excel, vamos a utilizar plataforma COM (COM interface), que b谩sicamente es un conjunto definido de m茅todos soportados por un objeto, para 鈥渓lamar鈥 a la aplicaci贸n en s铆 de la siguiente manera:

$Excel = New-Object -ComObject Excel.Application

La l铆nea anterior, nospermite abrir una instancia de la aplicaci贸n en nuestra computadora (podemos observar esto, ejecutando el administrador de tareas y revisando los procesos, donde vamos a encontrar el proceso Excel).

Crear un archivo Excel

Para crear un nuevo archivo de Excel es necesario introducirnos a un nuevo nivel dentro del objecto COM Excel.Application, usando el m茅todo Add:

$WorkBook = $Excel.Workbooks.Add()

Excel desde PowerShell

Abrir un archivo

Si en vez de crear un archivo, vamos a abrir uno existente tenemos que ejecutar la siguiente l铆nea en vez de la l铆nea anterior:

$Path = "C:\Users\Victor\Desktop\Planilla.xslx"
$WorkBook = $Excel.Workbooks.Open($Path)

Nombrar una hoja

Ya con el archivo abierto (libro) vamos a nombrar la hoja de nuestro WorkBook, de la siguiente manera:

$WorkSheet = $WorkBook.Worksheets.Item(1)
$WorkSheet.Name = 'Hoja Nueva'

Insertar datos

Ahora que tenemos un archivo para manipular, vamos a insertar datos dentro de la planilla. Con la siguiente l铆nea de c贸digo vamos a modificar el valor de la celda A1, insertando el texto 鈥淗ola mundo!鈥:

$WorkSheet.Cells.Item(1,1) = 'Hola mundo!'

Ahora, si queremos darle un formato, como por ejemplo, dejar el texto en negrita, vamos a hacerlo as铆:

$WorkSheet.Cells.Item(1,1).Font.Bold = $True

Guardar archivo

Teniendo todos los cambios hechos en nuestro archivo, vamos a guardarlo con el nombre de Archivo.xlsx y posteriormente a cerrar el proceso en ejecuci贸n de la aplicaci贸n:

$WorkBook.SaveAs("C:\Users\Victor\Archivo.xlsx")
$Excel.Quit()

Saludos,

Comments