Converter CSV para XLSX via CMD sem abrir o Excel

Advertisement

Você já sentiu o incômodo de ter que abrir o Microsoft Excel apenas para converter um único arquivo CSV para Excel (XLS ou XLSX)? Ou talvez você precise repetir esse processo muitas vezes ao dia para que os dados continuem sendo atualizados.

Advertisement

Imagine o seguinte: com apenas algumas linhas de comando, você pode converter CSV para XLS ou XLSX em segundos, mesmo para arquivos grandes! Não há necessidade de instalar software adicional, não há necessidade de clicar repetidamente e, o mais importante, o processo pode ser totalmente automatizado.

No Windows 11, você pode fazer a conversão de CSV para Excel com apenas uma linha de comando, usando ferramentas integradas como o PowerShell.

Advertisement
csv to excel

Por que usar a linha de comando para conversão de CSV para Excel?

O gerenciamento de dados no  formato CSV é comum no mundo moderno do trabalho, especialmente nas áreas de administração, finanças e processamento de dados. No entanto, quando os dados precisam ser processados ou apresentados de forma organizada no formato Excel (.XLS ou . XLSX), o processo de conversão costuma ser um trabalho trabalhoso se feito manualmente.

1. Processo super rápido sem abrir o aplicativo

Advertisement

Uma das maiores vantagens de usar uma linha de comando é a velocidade do processo. Você não precisa mais abrir o Microsoft Excel, carregar um arquivo CSV, definir o formato da coluna e salvá-lo novamente como um arquivo do Excel. Todas essas etapas podem ser substituídas por apenas uma linha de comando no terminal.

2. Automação para conversões em massa

As linhas de comando não são apenas rápidas, mas também podem ser automatizadas. Você pode criar um script de conversão uma vez, executá-lo várias vezes e até mesmo programá-lo para ser executado automaticamente todos os dias ou sempre que um novo arquivo aparecer em uma pasta específica.

3. Não são necessários custos adicionais

Muitos usuários pensam que precisam comprar software caro para realizar a conversão de dados com eficiência. Na verdade, usando as ferramentas de linha de comando integradas, você pode executar esse processo sem nenhum custo.

Ferramentas necessárias para converter CSV para Excel via linha de comando

Antes de começar a converter arquivos CSV para Excel (XLS/XLSX) por meio da linha de comando no Windows 11, existem algumas ferramentas básicas que você precisa configurar.

1. Windows 11 (versão mais recente recomendada)

Para obter o melhor desempenho e compatibilidade máxima com ferramentas como PowerShell ou Prompt de Comando, verifique se você está usando a versão mais recente do Windows 11. O sistema está equipado com uma variedade de aprimoramentos de estabilidade e recursos modernos que suportam fortemente a execução de comandos baseada em linha de comando.

2. Prompt de comando ou PowerShell

A linha de comando não será executada sem um terminal. No Windows, você tem duas opções principais que podem ser usadas para executar comandos:

  • Prompt de Comando (cmd.exe): Uma ferramenta clássica que existe há muito tempo no Windows. Adequado para pedidos de lotes básicos e simples.
  • PowerShell: mais avançado que o prompt de comando. Ele suporta scripts avançados, manipulação de dados complexos, bem como integrações de módulos, como Import-Csv, Export-Excel e assim por diante.

Para conversão de CSV para Excel,  o PowerShell é altamente recomendado, pois oferece suporte a uma variedade de módulos de terceiros, como o poderoso ImportExcel.

3. Exemplo de arquivo CSV (por exemplo, data.csv)

Para colocar este guia em prática imediatamente, prepare um arquivo CSV como exemplo. Esse arquivo pode conter dados simples, como uma lista de nomes, endereços de e-mail, transações ou produtos. Você pode criar o seu próprio usando o Bloco de Notas, o Excel ou baixar exemplos da Internet.

Exemplos de conteúdo data.csv:

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

Certifique-se de que seu arquivo CSV:

  • Usando um delimitador de vírgula (,), em vez de um ponto e vírgula (;)
  • Armazenado em um diretório de fácil acesso, por exemplo, em C:\Data\

Etapas para converter CSV para Excel (XLS/XLSX) via linha de comando

No mundo do Windows, o PowerShell é o canivete suíço para automação de sistemas. Quando se trata de  conversão de CSV para Excel, o PowerShell oferece uma solução elegante por meio do módulo ImportExcel.

Este módulo ImportExcel foi projetado especificamente para manipular arquivos do Excel diretamente da linha de comando, sem a necessidade do Microsoft Office instalado. Sua principal vantagem está na capacidade de lidar com arquivos grandes com alta eficiência, mantendo o formato e a estrutura de dados originais.

Introdução ao módulo ImportExcel

Antes de aproveitar o poder deste módulo, você precisa instalá-lo primeiro. O processo de instalação é muito simples:

Install-Module -Name ImportExcel -Force -Scope CurrentUser

Algumas coisas importantes sobre este processo de instalação:

  1. Parameter -Force garante que a instalação seja executada sem confirmação adicional
  2. -Scope CurrentUser faz com que o módulo seja instalado apenas para sua conta corrente
  3. O processo requer uma conexão com a Internet para baixar o pacote da Galeria do PowerShell

Se você encontrar um erro sobre a política de execução, execute-a primeiro:

Set-ExecutionPolicy RemoteSigned -Scope CurrentUser

Script mágico de conversão de CSV para Excel

Depois que o módulo for instalado com êxito, você poderá executar imediatamente o script de conversão de arquivo CSV para Excel com a seguinte sintaxe:

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

Vamos dissecar este script parte por seção:

  • Import-Csv: ler um arquivo CSV e convertê-lo em um objeto do PowerShell
  • | (Pipeline): Envia dados de um comando para o próximo
  • Export-Excel: Receber dados e gravá-los em um arquivo do Excel
  • -WorksheetName: Especifica o nome da planilha a ser criada

Variações avançadas para necessidades complexas

A verdadeira força do PowerShell está em sua flexibilidade. Aqui estão algumas modificações avançadas que você pode implementar:

1. Converta vários CSVs de uma só vez

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

2. Adicione várias planilhas

$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. Com formatação automática

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

Solucionando problemas

Embora o processo de conversão de um arquivo CSV para Excel (XLSX) usando  o PowerShell tenda a ser simples, na prática, você pode encontrar alguns problemas técnicos, especialmente se estiver usando a linha de comando pela primeira vez ou trabalhando com arquivos grandes. A seguir estão alguns dos problemas que surgem com frequência e como lidar com eles de forma eficaz:

Módulos desconhecidos

Se você receber uma mensagem de erro como The term ‘Export-Excel’ is not recognized, isso significa que o PowerShell não reconhece comandos do módulo ImportExcel. Esse problema geralmente ocorre porque o módulo não está instalado corretamente ou o PowerShell está em execução sem permissão de administrador.

Solução:

  • Verifique se você está executando o PowerShell como administrador. Clique com o botão direito do mouse no ícone do PowerShell e selecione Executar como administrador antes de executar o comando Install-Module.
  • Verifique se o módulo está instalado executando:
Get-Module -ListAvailable ImportExcel
  • Se o módulo ainda não estiver presente, repita o processo de instalação:
Install-Module -Name ImportExcel -Force

Erro de codificação em arquivos CSV

Alguns arquivos CSV, especialmente aqueles de outros sistemas ou exportações de aplicativos de terceiros, podem ter problemas de codificação. Se você notar caracteres estranhos ou dados ilegíveis após exportar para o Excel, provavelmente é um problema de codificação.

Solução:

  • Use o parâmetro de codificação UTF8 ao importar arquivos CSV. Isso garantirá que caracteres especiais, como letras ou símbolos acentuados, não sejam danificados.
Import-Csv -Path “C:\path\data.csv” -Encoding UTF8 |  Export-Excel “C:\output\data.xlsx”
  • Certifique-se de que o arquivo CSV esteja salvo no formato UTF-8. Você pode abrir o arquivo com o Bloco de Notas e salvá-lo novamente selecionando Save As > Encoding: UTF-8.

O processo parece lento para arquivos grandes

Se você estiver trabalhando com um arquivo CSV grande (por exemplo, mais de 100 MB), o processo de conversão pode parecer lento ou até mesmo falhar devido a limitações de memória. Isso é natural, especialmente se você estiver usando um computador de baixa especificação ou tiver muitos outros aplicativos abertos ao mesmo tempo.

Solução:

  • Considere dividir um arquivo CSV em partes menores usando scripts ou ferramentas como split no WSL (Windows Subsystem for Linux).
  • Execute as conversões individualmente e, em seguida, mescle os resultados no Excel, se necessário.
  • Certifique-se de que seu computador tenha espaço de armazenamento suficiente e pelo menos 8 GB de RAM para lidar com arquivos grandes.

Últimos artigos