InicioSO WindowsConsejos y Trucos WindowsConvertir CSV a XLSX con CMD sin abrir Excel

Convertir CSV a XLSX con CMD sin abrir Excel

¿Alguna vez ha sentido la molestia de tener que abrir Microsoft Excel solo para convertir un solo archivo CSV a Excel (XLS o XLSX)? O tal vez tenga que repetir ese proceso muchas veces al día para que los datos se sigan actualizando.

Imagínese esto: con solo unas pocas líneas de comando, puede convertir CSV a XLS o XLSX en segundos, ¡incluso para archivos grandes! No es necesario instalar software adicional, no es necesario hacer clic repetidamente y, lo que es más importante, el proceso se puede automatizar por completo.

En Windows 11, puede realizar la conversión de CSV a Excel con solo una línea de comandos, utilizando herramientas integradas como PowerShell.

csv to excel

¿Por qué usar la línea de comandos para la conversión de CSV a Excel?

La gestión de datos en  formato CSV es común en el mundo laboral moderno, especialmente en los campos de la administración, las finanzas y el procesamiento de datos. Sin embargo, cuando los datos deben procesarse posteriormente o presentarse de forma ordenada en formato Excel (.XLS o . XLSX), el proceso de conversión suele ser un trabajo laborioso si se realiza manualmente.

1. Proceso súper rápido sin abrir la aplicación

Una de las mayores ventajas de usar una línea de comandos es la velocidad del proceso. Ya no es necesario abrir Microsoft Excel, cargar un archivo CSV, establecer el formato de columna y, a continuación, volver a guardarlo como un archivo de Excel. Todos estos pasos se pueden reemplazar con una sola línea de comandos en el terminal.

2. Automatización para conversiones masivas

Las líneas de comandos no solo son rápidas, sino que también se pueden automatizar. Puede crear un script de conversión una vez, luego ejecutarlo varias veces e incluso programarlo para que se ejecute automáticamente todos los días o cada vez que aparezca un nuevo archivo en una carpeta específica.

3. No se requieren costos adicionales

Muchos usuarios piensan que tienen que comprar un software costoso para realizar la conversión de datos de manera eficiente. De hecho, mediante el uso de las herramientas de línea de comandos integradas, puede ejecutar este proceso sin costo alguno.

Herramientas necesarias para convertir CSV a Excel a través de la línea de comandos

Antes de comenzar a convertir archivos CSV a Excel (XLS/XLSX) a través de la línea de comandos en Windows 11, hay algunas herramientas básicas que debe configurar.

1. Windows 11 (se recomienda la última versión)

Para obtener el mejor rendimiento y la máxima compatibilidad con herramientas como PowerShell o el símbolo del sistema, asegúrese de usar la versión más reciente de Windows 11. El sistema está equipado con una variedad de mejoras de estabilidad y características modernas que respaldan firmemente la ejecución de comandos basada en la línea de comandos.

2. Símbolo del sistema o PowerShell

La línea de comandos no se ejecutará sin un terminal. En Windows, tiene dos opciones principales que puede usar para ejecutar comandos:

  • Símbolo del sistema (cmd.exe): Una herramienta clásica que existe desde hace mucho tiempo en Windows. Adecuado para pedidos de lotes básicos y simples.
  • PowerShell: más avanzado que el símbolo del sistema. Admite secuencias de comandos avanzadas, manipulación de datos complejos, así como integraciones de módulos como Import-Csv, Export-Excel, etc.

Para la conversión de CSV a Excel, se recomienda encarecidamente PowerShell, ya que admite una variedad de módulos de terceros, como el muy potente ImportExcel.

3. Archivo CSV de muestra (por ejemplo, data.csv)

Para poner en práctica esta guía de inmediato, prepare un archivo CSV como ejemplo. Este archivo puede contener datos simples como una lista de nombres, direcciones de correo electrónico, transacciones o productos. Puede crear el suyo propio usando el Bloc de notas, Excel o descargar muestras de Internet.

Ejemplos de contenido data.csv:

Name,Email,Age
Ahmad,ahmad@example.com,30
Budi,budi@example.com,25
Citra,citra@example.com,28

Asegúrate de que tu archivo CSV:

Pasos para convertir CSV a Excel (XLS/XLSX) a través de la línea de comandos

En el mundo de Windows, PowerShell es la navaja suiza para la automatización de sistemas. Cuando se trata de  la conversión de CSV a Excel, PowerShell ofrece una solución elegante a través del módulo ImportExcel.

Este módulo de ImportExcel está diseñado específicamente para manipular archivos de Excel directamente desde la línea de comandos, sin necesidad de tener instalado Microsoft Office. Su principal ventaja radica en su capacidad para manejar archivos de gran tamaño con alta eficiencia, manteniendo el formato y la estructura de datos originales.

Introducción al módulo ImportExcel

Antes de que pueda aprovechar el poder de este módulo, primero debe instalarlo. El proceso de instalación es muy sencillo:

Install-Module -Name ImportExcel -Force -Scope CurrentUser

Algunas cosas importantes sobre este proceso de instalación:

  1. Parameter -Force garantiza que la instalación se ejecute sin confirmación adicional
  2. -Scope CurrentUser hace que el módulo se instale solo para su cuenta actual
  3. El proceso requiere una conexión a Internet para descargar el paquete desde la Galería de PowerShell

Si encuentra un error sobre la política de ejecución, ejecútelo primero:

Set-ExecutionPolicy RemoteSigned -Scope CurrentUser

Conversión de CSV a Excel Magic Script

Una vez que el módulo se haya instalado correctamente, puede ejecutar inmediatamente el script de conversión de archivos CSV a Excel con la siguiente sintaxis:

Import-Csv “C:\path\to\data.csv | Export-Excel “C:\output\data.xlsx” -WorksheetName “Sheet1”

Analicemos este guión parte por sección:

  • Import-Csv: Leer un archivo CSV y convertirlo en un objeto de PowerShell
  • | (Pipeline): Envía datos de un comando al siguiente
  • Export-Excel: Recibir datos y escribirlos en un archivo de Excel
  • -WorksheetName: Especifica el nombre de la hoja de cálculo que se va a crear

Variaciones avanzadas para necesidades complejas

La verdadera fortaleza de PowerShell radica en su flexibilidad. Estas son algunas modificaciones avanzadas que puede implementar:

1. Convertir varios CSV a la vez

Get-ChildItem “C:\data\*.csv” | ForEach-Object {
  $excelPath =$_.FullName -replace '\.csv$','.xlsx'
 Import-Csv $_| Export-Excel $excelPath
}

2. Agregue varias hojas de trabajo

$excel = New-Excel
Import-Csv “data1.csv” | Export-Excel -ExcelPackage $excel -WorksheetName “Sales”
Import-Csv “data2.csv” | Export-Excel -ExcelPackage $excel -WorksheetName “Inventory”
Close-ExcelPackage $excel -SaveAs “report.xlsx”

3. Con formateo automático

Import-Csv “data.csv” | Export-Excel “output.xlsx” -AutoSize -BoldTopRow -FreezeTopRow

Solución de problemas

Si bien el proceso de conversión de un archivo CSV a Excel (XLSX) usando PowerShell tiende a ser simple, en la práctica, puede encontrar algunos problemas técnicos, especialmente si está usando la línea de comandos por primera vez o trabaja con archivos grandes. Los siguientes son algunos de los problemas que surgen a menudo y cómo abordarlos de manera efectiva:

Módulos desconocidos

Si recibe un mensaje de error como The term ‘Export-Excel’ is not recognized, significa que PowerShell no reconoce los comandos del módulo ImportExcel. Este problema suele producirse porque el módulo no está instalado correctamente o PowerShell se está ejecutando sin permiso de administrador.

Solución:

  • Asegúrese de que está ejecutando PowerShell como administrador. Haga clic con el botón secundario en el icono de PowerShell y seleccione Ejecutar como administrador antes de ejecutar el comando Install-Module.
  • Compruebe si el módulo está instalado ejecutando:
Get-Module -ListAvailable ImportExcel
  • Si el módulo aún no está presente, repita el proceso de instalación de la siguiente manera:
Install-Module -Name ImportExcel -Force

Error de codificación en archivos CSV

Algunos archivos CSV, especialmente los de otros sistemas o los exportados desde aplicaciones de terceros, pueden tener problemas de codificación. Si observa caracteres extraños o datos ilegibles después de exportar a Excel, lo más probable es que se trate de un problema de codificación.

Solución:

  • Utilice el parámetro de codificación UTF8 al importar archivos CSV. Esto asegurará que los caracteres especiales, como letras acentuadas o símbolos, no se dañen.
Import-Csv -Path “C:\path\data.csv” -Encoding UTF8 | Export-Excel “C:\output\data.xlsx”
  • Asegúrese de que el archivo CSV esté guardado en formato UTF-8. Puede abrir el archivo con el Bloc de notas y guardarlo nuevamente seleccionando Save As > Encoding: UTF-8.

El proceso se siente lento para archivos grandes

Si trabajas con un archivo CSV grande (por ejemplo, más de 100 MB), el proceso de conversión puede parecer lento o incluso fallar debido a las limitaciones de memoria. Esto es natural, especialmente si está utilizando una computadora de baja especificación o tiene muchas otras aplicaciones abiertas al mismo tiempo.

Solución:

  • Considere la posibilidad de dividir un archivo CSV en partes más pequeñas mediante scripts o herramientas como split en WSL (Subsistema de Windows para Linux).
  • Ejecute las conversiones individualmente y, a continuación, combine los resultados en Excel si es necesario.
  • Asegúrese de que su computadora tenga suficiente espacio de almacenamiento y al menos 8 GB de RAM para manejar archivos grandes.

Artículos Recientes