C# Escrever dados em um arquivo CSV
-
C# Programa para escrever dados em um arquivo
CSV
utilizando métodos de classeCsvHelper
-
C# Programa para escrever dados em um arquivo
CSV
utilizandoWriteAllText()
Método
Os arquivos CSV
são de grande utilidade no armazenamento de dados de forma organizada. Você pode escrever e ler dados de e para um arquivo CSV
utilizando diferentes linguagens de programação.
Em C# temos diferentes métodos para ler um arquivo CSV
e escrever os dados em um arquivo CSV
. Este artigo enfoca os diferentes métodos para escrever os dados em um arquivo CSV
.
C# Programa para escrever dados em um arquivo CSV
utilizando métodos de classe CsvHelper
Em C#, temos uma biblioteca chamada CsvHelper
para ler e escrever arquivos CSV
. Esta biblioteca não é fornecida por padrão. Ao contrário, temos que fazer o download. Ela fornece métodos como GetRecords
e WriteRecords
para ler e escrever um arquivo CSV
. Esta é uma biblioteca eficiente para ler e escrever facilmente Arquivos CSV
.
O seguinte exemplo de código mostra um programa que cria um arquivo CSV
e grava dados nele.
Exemplo de código:
using System;
using System.IO;
using System.Text;
using CsvHelper;
namespace CsvExample {
public class Project {
public string PersonName { get; set; }
public string Title { get; set; }
}
public class Program {
static void Main(string[] args) {
var data = new[] { new Project { CustomerName = "Olivia", Title = "Mother" },
new Project { CustomerName = "Lili", Title = "Elder Sister" } };
using (var mem = new MemoryStream()) using (var writer = new StreamWriter(mem)) using (
var csvWriter = new CsvWriter(writer)) {
csvWriter.Configuration.Delimiter = ";";
csvWriter.Configuration.HasHeaderRecord = true;
csvWriter.Configuration.AutoMap<Project>();
csvWriter.WriteHeader<Project>();
csvWriter.WriteRecords(data);
writer.Flush();
var result = Encoding.UTF8.GetString(mem.ToArray());
Console.WriteLine(result);
}
}
}
}
Resultado:
PersonName;
Title Olivia;
Mother Lili;
Elder Sister
C# Programa para escrever dados em um arquivo CSV
utilizando WriteAllText()
Método
O método WriteAllText()
cria um arquivo, grava dados no arquivo e depois fecha o arquivo. Se o arquivo já existe, então ele sobrescreve os dados no arquivo.
A sintaxe correta para utilizar este método é a seguinte:
WriteAllText(StringPath, StringContents);
Exemplo de código:
using System;
using System.IO;
using System.Text;
namespace CsvExample {
public class Program {
static void Main(string[] args) {
string strFilePath = @"D:\New folder\Data.csv";
string strSeperator = ",";
StringBuilder sbOutput = new StringBuilder();
int[][] inaOutput = new int[][] { new int[] { 1000, 2000, 3000, 4000, 5000 },
new int[] { 6000, 7000, 8000, 9000, 10000 },
new int[] { 11000, 12000, 13000, 14000, 15000 } };
int ilength = inaOutput.GetLength(0);
for (int i = 0; i & amp; lt; ilength; i++)
sbOutput.AppendLine(string.Join(strSeperator, inaOutput[i]));
// Create and write the csv file
File.WriteAllText(strFilePath, sbOutput.ToString());
// To append more lines to the csv file
File.AppendAllText(strFilePath, sbOutput.ToString());
}
}
}
Resultado:
// CSV file created in the given directory
Ele dá várias exceções como ArgumentException
, ArgumentNullException
, PathTooLongException
, DirectoryNotFoundException
, IOException
e UnauthorizedAccessException
. Essas exceções poderiam ser tratadas utilizando um bloco de try-catch
.