Como Escrever CSV em C# .NET e Criar Planilha Excel com IronXL
O IronXL oferece uma maneira simples de escrever dados para arquivos CSV em .NET, carregando ou criando planilha Excel e salvando-a como formato CSV usando uma linha de código, eliminando análise manual.
Começo Rápido: Salve um Livro de Excel como CSV com o IronXL
Este exemplo mostra como converter um arquivo Excel existente para CSV usando o IronXL. Carregue a planilha e chame SaveAsCsv — não é necessário parsing manual.
-
Instale IronXL com o Gerenciador de Pacotes NuGet
PM > Install-Package IronXL.Excel -
Copie e execute este trecho de código.
IronXL.WorkBook.Load("MyExcel.xlsx").SaveAsCsv("MyExcel.csv"); -
Implante para testar em seu ambiente de produção.
Comece a usar IronXL em seu projeto hoje com uma avaliação gratuita
- Adicione a biblioteca IronXL
- Criar uma planilha em C#
- Salvar planilha do Excel em formato de arquivo CSV
Passo 1
Como Adicionar o IronXL ao Meu Projeto?
Qual método de instalação devo usar?
Se você ainda não instalou o IronXL, siga estas etapas:
- Abra o Visual Studio e selecione o menu Projeto.
- Clique em Gerenciar Pacotes NuGet.
- Procure por IronXL.Excel.
- Clique em Instalar.
E Se Eu Preferir a Linha de Comando?
Use o seguinte comando no Developer Command Prompt:
Install-Package IronXL.Excel
Onde posso encontrar mais recursos?
Para tutoriais e orientações adicionais, visite: https://ironsoftware.com/csharp/excel/docs/. Para operações de leitura de CSV, veja nosso guia sobre como ler arquivos CSV em C#. Baixe o projeto de exemplo aqui.
Tutorial de Como Fazer
Como Criar um Livro de Excel para Exportação de CSV?
Quais dados meu livro deve conter?
Arquivos CSV (comma-separated values, ou valores separados por vírgula) são amplamente usados para troca de dados entre aplicações devido ao seu formato simples e compatibilidade universal. Quer seja exportando dados para análise, criando relatórios ou integrando com outros sistemas, o IronXL torna o processo simples.
Primeiro, crie um livro Excel contendo dados de amostra. Se precisar de ajuda para criar arquivos Excel programaticamente, visite nosso tutorial para criar arquivos Excel no .NET:
Qual namespace devo importar?
Adicione o namespace IronXL para escrever arquivos CSV em C#:
using IronXL;
using IronXL;
Imports IronXL
Como salvo meu livro como CSV?
Que código preciso para converter Excel para CSV?
O seguinte código C# demonstra o uso do método Load do objeto WorkBook para carregar um arquivo Excel, em seguida, o uso do método SaveAs para salvá-lo como CSV. Esta abordagem lida automaticamente com tipos de dados, caracteres especiais e formatação:
:path=/static-assets/excel/content-code-examples/how-to/csharp-write-to-csv-file-save.cs
using IronXL;
// Load the existing Excel workbook
WorkBook wb = WorkBook.Load("Normal_Excel_File.xlsx"); // Import .xls, .csv, or .tsv file
// Save the workbook as a CSV file with the worksheet name appended
wb.SaveAs("Excel_To_CSV.csv"); // Exported as: Excel_To_CSV.Sheet1.csv
Imports IronXL
' Load the existing Excel workbook
Dim wb As WorkBook = WorkBook.Load("Normal_Excel_File.xlsx") ' Import .xls, .csv, or .tsv file
' Save the workbook as a CSV file with the worksheet name appended
wb.SaveAs("Excel_To_CSV.csv") ' Exported as: Excel_To_CSV.Sheet1.csv
Como posso salvar uma planilha específica em CSV?
Ao trabalhar com livros de várias planilhas, você pode exportar planilhas específicas. O IronXL fornece opções flexíveis para este cenário. Saiba mais sobre gerenciamento de planilhas em nossa documentação:
using IronXL;
// Load workbook and access specific worksheet
WorkBook workBook = WorkBook.Load("MultiSheet_Excel.xlsx");
WorkSheet sheet = workBook.GetWorkSheet("Sales_Data");
// Save only the specific worksheet as CSV
sheet.SaveAsCsv("Sales_Data_Export.csv");
// Alternatively, save with custom delimiter
sheet.SaveAsCsv("Sales_Data_Tab.tsv", delimiter: "\t");
using IronXL;
// Load workbook and access specific worksheet
WorkBook workBook = WorkBook.Load("MultiSheet_Excel.xlsx");
WorkSheet sheet = workBook.GetWorkSheet("Sales_Data");
// Save only the specific worksheet as CSV
sheet.SaveAsCsv("Sales_Data_Export.csv");
// Alternatively, save with custom delimiter
sheet.SaveAsCsv("Sales_Data_Tab.tsv", delimiter: "\t");
Imports IronXL
' Load workbook and access specific worksheet
Dim workBook As WorkBook = WorkBook.Load("MultiSheet_Excel.xlsx")
Dim sheet As WorkSheet = workBook.GetWorkSheet("Sales_Data")
' Save only the specific worksheet as CSV
sheet.SaveAsCsv("Sales_Data_Export.csv")
' Alternatively, save with custom delimiter
sheet.SaveAsCsv("Sales_Data_Tab.tsv", delimiter:=vbTab)
Como é a saída do CSV?
O arquivo CSV de saída aparece da seguinte forma quando aberto em um editor de texto. Observe como o IronXL formata corretamente os dados com vírgulas como delimitadores e lida com campos de texto que contêm caracteres especiais:
Como lido com várias planilhas?
Quando seu arquivo Excel contém várias planilhas, o IronXL oferece várias abordagens para exportação em CSV. Explore mais sobre como converter tipos de arquivos de planilhas em nosso guia completo:
using IronXL;
using System;
// Load workbook with multiple sheets
WorkBook workBook = WorkBook.Load("MultipleSheets.xlsx");
// Method 1: Export all sheets to separate CSV files
foreach (WorkSheet sheet in workBook.WorkSheets)
{
string fileName = $"{sheet.Name}_Export.csv";
sheet.SaveAsCsv(fileName);
Console.WriteLine($"Exported {sheet.Name} to {fileName}");
}
// Method 2: Combine all sheets into one CSV
var combinedData = workBook.GetWorkSheet(0);
for (int i = 1; i < workBook.WorkSheets.Count; i++)
{
var currentSheet = workBook.GetWorkSheet(i);
// Add logic to append data from currentSheet to combinedData
}
combinedData.SaveAsCsv("Combined_Output.csv");
using IronXL;
using System;
// Load workbook with multiple sheets
WorkBook workBook = WorkBook.Load("MultipleSheets.xlsx");
// Method 1: Export all sheets to separate CSV files
foreach (WorkSheet sheet in workBook.WorkSheets)
{
string fileName = $"{sheet.Name}_Export.csv";
sheet.SaveAsCsv(fileName);
Console.WriteLine($"Exported {sheet.Name} to {fileName}");
}
// Method 2: Combine all sheets into one CSV
var combinedData = workBook.GetWorkSheet(0);
for (int i = 1; i < workBook.WorkSheets.Count; i++)
{
var currentSheet = workBook.GetWorkSheet(i);
// Add logic to append data from currentSheet to combinedData
}
combinedData.SaveAsCsv("Combined_Output.csv");
Imports IronXL
Imports System
' Load workbook with multiple sheets
Dim workBook As WorkBook = WorkBook.Load("MultipleSheets.xlsx")
' Method 1: Export all sheets to separate CSV files
For Each sheet As WorkSheet In workBook.WorkSheets
Dim fileName As String = $"{sheet.Name}_Export.csv"
sheet.SaveAsCsv(fileName)
Console.WriteLine($"Exported {sheet.Name} to {fileName}")
Next
' Method 2: Combine all sheets into one CSV
Dim combinedData = workBook.GetWorkSheet(0)
For i As Integer = 1 To workBook.WorkSheets.Count - 1
Dim currentSheet = workBook.GetWorkSheet(i)
' Add logic to append data from currentSheet to combinedData
Next
combinedData.SaveAsCsv("Combined_Output.csv")
E quanto às considerações de desempenho?
Para arquivos Excel grandes, o IronXL fornece capacidades de streaming eficientes que minimizam o uso de memória. Ao trabalhar com conjuntos de dados substanciais, use os métodos otimizados do IronXL. Veja nosso guia sobre como exportar dados para vários formatos para cenários avançados.
Posso trabalhar com DataTables?
O IronXL se integra perfeitamente com a estrutura DataTable do .NET, facilitando a exportação de dados de bancos de dados ou coleções em memória. Veja nosso tutorial sobre como converter DataTable para CSV:
using IronXL;
using System.Data;
// Create a DataTable with sample data
DataTable dataTable = new DataTable();
dataTable.Columns.Add("ID", typeof(int));
dataTable.Columns.Add("Name", typeof(string));
dataTable.Columns.Add("Price", typeof(decimal));
// Add sample rows
dataTable.Rows.Add(1, "Product A", 29.99m);
dataTable.Rows.Add(2, "Product B", 49.99m);
// Convert DataTable to WorkSheet
WorkBook workBook = WorkBook.Create();
WorkSheet sheet = workBook.CreateWorkSheet("Products");
sheet.InsertDataTable(dataTable, "A1");
// Save as CSV
workBook.SaveAsCsv("Products.csv");
using IronXL;
using System.Data;
// Create a DataTable with sample data
DataTable dataTable = new DataTable();
dataTable.Columns.Add("ID", typeof(int));
dataTable.Columns.Add("Name", typeof(string));
dataTable.Columns.Add("Price", typeof(decimal));
// Add sample rows
dataTable.Rows.Add(1, "Product A", 29.99m);
dataTable.Rows.Add(2, "Product B", 49.99m);
// Convert DataTable to WorkSheet
WorkBook workBook = WorkBook.Create();
WorkSheet sheet = workBook.CreateWorkSheet("Products");
sheet.InsertDataTable(dataTable, "A1");
// Save as CSV
workBook.SaveAsCsv("Products.csv");
Imports IronXL
Imports System.Data
' Create a DataTable with sample data
Dim dataTable As New DataTable()
dataTable.Columns.Add("ID", GetType(Integer))
dataTable.Columns.Add("Name", GetType(String))
dataTable.Columns.Add("Price", GetType(Decimal))
' Add sample rows
dataTable.Rows.Add(1, "Product A", 29.99D)
dataTable.Rows.Add(2, "Product B", 49.99D)
' Convert DataTable to WorkSheet
Dim workBook As WorkBook = WorkBook.Create()
Dim sheet As WorkSheet = workBook.CreateWorkSheet("Products")
sheet.InsertDataTable(dataTable, "A1")
' Save as CSV
workBook.SaveAsCsv("Products.csv")
Como configuro o licenciamento?
Antes de implementar sua solução de exportação CSV, configure corretamente sua licença do IronXL. Visite nosso guia sobre uso de chaves de licença para saber como aplicar licenças em diferentes ambientes.
Acesso rápido à biblioteca
Learn more and share how to merge, unmerge, and work with cells in Excel spreadsheets using the Documentação de Referência da API IronXL. For detailed method signatures and additional CSV export options, consult our [API Reference](https://ironsoftware.com/csharp/excel/object-reference/api/).
Documentação de Referência da API IronXLPerguntas frequentes
Como faço para escrever arquivos CSV em C# sem analisá-los manualmente?
IronXL oferece uma solução simples de uma linha para escrever arquivos CSV em C#, carregando planilhas do Excel e salvando-as no formato CSV usando o método SaveAsCsv, eliminando a necessidade de análise manual ou manipulação complexa de strings.
Qual é a maneira mais rápida de converter um arquivo Excel para CSV em .NET?
Com o IronXL, você pode converter um arquivo Excel para CSV com apenas uma linha de código: IronXL.WorkBook.Load("MyExcel.xlsx").SaveAsCsv("MyExcel.csv"). Isso lida automaticamente com todos os tipos de dados, caracteres especiais e formatação.
Como faço para instalar a biblioteca para escrita de arquivos CSV em C#?
Você pode instalar o IronXL através do Gerenciador de Pacotes NuGet do Visual Studio, pesquisando por 'IronXL.Excel', ou usar o Prompt de Comando do Desenvolvedor com o comando de instalação apropriado.
Qual namespace preciso importar para operações com CSV?
Para escrever arquivos CSV usando o IronXL, você precisa importar o namespace IronXL adicionando 'using IronXL;' no início do seu arquivo C#.
Posso salvar uma planilha específica no formato CSV?
Sim, o IronXL permite salvar planilhas individuais de uma pasta de trabalho do Excel no formato CSV, oferecendo a flexibilidade de exportar apenas os dados necessários, em vez da pasta de trabalho inteira.
Quais formatos de dados são suportados na conversão para CSV?
O IronXL lida automaticamente com vários tipos de dados, incluindo texto, números, datas e caracteres especiais, ao converter planilhas do Excel para o formato CSV, garantindo a integridade dos dados durante todo o processo de conversão.

