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 “ llamar” 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()
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 “ Hola 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()
Happy scripting!
Comments