C# 将数据写入 CSV 文件
Minahil Noor
2023年10月12日
CSV 文件在以有组织的方式存储数据方面非常有用。你可以使用不同的编程语言在 CSV 文件中读写数据。
在 C# 中,我们有不同的方法来读取 CSV 文件并将数据写入 CSV 文件。本文重点介绍将数据写入 CSV 文件的不同方法。
使用 CsvHelper
类方法将数据写入 CSV 文件的 C# 程序
在 C# 中,我们有一个名为 CsvHelper
的库,用于读取和写入 CSV
文件。默认情况下不提供此库。因此,我们必须下载它。它提供了诸如 GetRecords
和 WriteRecords
之类的方法来读写 CSV 文件。这是一个高效的库,可轻松读取和写入 CSV 文件。
以下示例代码显示了一个程序,该程序创建一个 CSV 文件并将数据写入其中。
示例代码:
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);
}
}
}
}
输出:
PersonName;Title
Olivia;Mother
Lili;Elder Sister
C# 使用 WriteAllText()
方法将数据写入 CSV 文件
WriteAllText()
方法创建一个文件,将数据写入该文件,然后关闭该文件。如果文件已经存在,则它将覆盖文件中的数据。
使用此方法的正确语法如下:
WriteAllText(StringPath, StringContents);
示例代码:
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());
}
}
}
输出:
//CSV file created in the given directory
它给出了几个异常,例如 ArgumentException
,ArgumentNullException
,PathTooLongException
,DirectoryNotFoundException
,IOException
和 UnauthorizedAccessException
。这些异常可以使用 try-catch
块来处理。