Como Exportar um CSV para Excel Usando PowerShell
- Exportar Arquivo CSV para Arquivo Excel Usando o Objeto COM do Excel no PowerShell
- Exportar Arquivo CSV para Arquivo Excel Usando o Objeto COM do Excel no PowerShell
-
Exportar Arquivo CSV para Arquivo Excel Usando o
PSExcel
no PowerShell - Conclusão

Um CSV (Valores Separados por Vírgula) é um arquivo de texto simples que armazena dados em formato tabular. Contém uma lista de dados separados por vírgulas ou outros delimitadores, como pontos e vírgulas.
Um arquivo CSV tem a extensão .csv
e pode ser visualizado com um programa de planilha, como o Microsoft Excel. Um arquivo com a extensão .xlsx
é um arquivo de Planilha do Microsoft Excel.
Este artigo aprofunda-se nas especificidades da exportação de arquivos CSV para Excel usando PowerShell, cobrindo três métodos distintos: o Objeto COM do Excel, o módulo ImportExcel
e o módulo PSExcel
. Cada método atende a diferentes cenários e requisitos, oferecendo vantagens únicas.
Exportar Arquivo CSV para Arquivo Excel Usando o Objeto COM do Excel no PowerShell
O método do Objeto COM do Excel é particularmente útil ao lidar com transformações de dados e relatórios em ambientes Windows. Esta abordagem é ideal para aqueles que precisam automatizar o processo de conversão de dados CSV para um formato Excel mais amigável, amplamente utilizado em negócios e análise de dados.
Script:
# Define the CSV file path and the Excel file path
$csvPath = "C:\path\file.csv"
$excelPath = "C:\path\file.xlsx"
# Start Excel application
$excel = New-Object -ComObject excel.application
$workbook = $excel.Workbooks.Add()
$worksheet = $workbook.worksheets.Item(1)
# Import CSV data into the worksheet
$row = 1
Import-Csv $csvPath | ForEach-Object {
$col = 1
foreach ($value in $_.PSObject.Properties.Value) {
$worksheet.Cells.Item($row, $col) = $value
$col++
}
$row++
}
# Save and close Excel workbook
$workbook.SaveAs($excelPath)
$excel.Quit()
Neste script, começamos definindo os caminhos para nosso arquivo CSV de origem e o arquivo Excel de destino. Em seguida, iniciamos uma instância da aplicação Excel e adicionamos um novo livro de trabalho com uma única planilha.
O cmdlet Import-Csv
lê o arquivo CSV, e iteramos por cada registro usando ForEach-Object
. Dentro do loop, atribuímos cada valor à célula correspondente na planilha do Excel.
Após preencher a planilha com todos os dados do arquivo CSV, salvamos o livro de trabalho no caminho especificado e fechamos a aplicação Excel.
Saída:
Exportar Arquivo CSV para Arquivo Excel Usando o Objeto COM do Excel no PowerShell
O método do Objeto COM do Excel é particularmente útil ao lidar com transformações de dados e relatórios em ambientes Windows. Esta abordagem é ideal para aqueles que precisam automatizar o processo de conversão de dados CSV para um formato Excel mais amigável, amplamente utilizado em negócios e análise de dados.
Primeiro, você precisa instalar o módulo ImportExcel
, se ainda não o fez.
Install-Module -Name ImportExcel -Force -Scope CurrentUser
Script:
# Install the ImportExcel module if not already installed
# Install-Module -Name ImportExcel -Scope CurrentUser
# Define the CSV and Excel file paths
$csvPath = "C:\path\file.csv"
$excelPath = "C:\path\file.xlsx"
# Import data from CSV and export to Excel
Import-Csv -Path $csvPath | Export-Excel -Path $excelPath
# Print completion message
Write-Host "CSV data has been exported to Excel at: $excelPath"
Neste script, primeiro verificamos se o módulo ImportExcel
está instalado. Este módulo não está incluído no PowerShell por padrão e pode precisar ser instalado a partir do PowerShell Gallery usando Install-Module
.
Em seguida, definimos os caminhos dos arquivos para nosso CSV de origem e o arquivo Excel de destino. O cmdlet Import-Csv
lê o arquivo CSV, e o pipeline (|
) passa os dados importados diretamente para o cmdlet Export-Excel
, que cria um arquivo Excel na localização especificada.
Este script é projetado para ser simples e eficiente, tornando-se acessível mesmo para aqueles novos na scriptização do PowerShell. Ele demonstra efetivamente a facilidade de converter dados de CSV para o formato Excel usando PowerShell.
Saída:
Exportar Arquivo CSV para Arquivo Excel Usando o PSExcel
no PowerShell
O módulo PSExcel
aproveita as capacidades do PowerShell para interagir com arquivos do Excel sem precisar do Excel instalado no sistema. Isso o torna particularmente útil em ambientes onde instalar o Excel não é viável, como em servidores ou sistemas automatizados.
PSExcel
é amplamente utilizado para tarefas como geração de relatórios, análise de dados e conversão de dados em um formato mais apresentável e acessível, como Excel.
Primeiro, você precisa instalar o módulo PSExcel
, se ainda não o fez.
Install-Module -Name PSExcel -Force -Scope CurrentUser
Script:
#Define the CSV and Excel file paths
$csvPath = "C:\path\file.csv"
$excelPath = "C:\path\file.xlsx"
# Import data from CSV
$csvData = Import-Csv -Path $csvPath
# Export data to Excel
$csvData | Export-Excel -Path $excelPath
# Print completion message
Write-Host "CSV data has been exported to Excel at: $excelPath"
Neste script, começamos garantindo que o módulo PSExcel
esteja instalado. Ele não está incluído por padrão no PowerShell e pode ser instalado a partir do PowerShell Gallery.
Em seguida, definimos os caminhos para nosso arquivo CSV de origem e o arquivo Excel de destino. O cmdlet Import-Csv
é usado para ler o arquivo CSV em uma variável.
Esses dados importados são então passados para o cmdlet Export-Excel
, que cria um arquivo Excel na localização especificada.
Saída:
Conclusão
Este guia abrangente sobre a exportação de arquivos CSV para Excel usando PowerShell demonstrou a flexibilidade e o poder do PowerShell ao lidar com tarefas de conversão de dados. Cada método explorado - o Objeto COM do Excel, o módulo ImportExcel
e o módulo PSExcel
- oferece benefícios únicos, atendendo a diferentes ambientes e requisitos.
O Objeto COM do Excel é uma escolha robusta para interação direta com o Excel em ambientes Windows, ideal para tarefas complexas de manipulação de dados. Os módulos ImportExcel
e PSExcel
fornecem uma abordagem alternativa, estendendo a funcionalidade do PowerShell para lidar com arquivos do Excel com facilidade, mesmo na ausência do software Excel.
Esses métodos não apenas destacam a versatilidade do PowerShell, mas também oferecem soluções práticas para automatizar e simplificar tarefas de transformação de dados. Seja você um iniciante na scriptização do PowerShell ou um profissional experiente, esses métodos oferecem ferramentas valiosas para aprimorar suas capacidades de processamento e relatórios de dados em uma variedade de cenários.