C# 将数据写入 CSV 文件

  1. 使用 CsvHelper 类方法将数据写入 CSV 文件的 C# 程序
  2. C# 使用 WriteAllText() 方法将数据写入 CSV 文件

CSV 文件在以有组织的方式存储数据方面非常有用。你可以使用不同的编程语言在 CSV 文件中读写数据。

在 C# 中,我们有不同的方法来读取 CSV 文件并将数据写入 CSV 文件。本文重点介绍将数据写入 CSV 文件的不同方法。

使用 CsvHelper 类方法将数据写入 CSV 文件的 C# 程序

在 C# 中,我们有一个名为 CsvHelper 的库,用于读取和写入 CSV 文件。默认情况下不提供此库。因此,我们必须下载它。它提供了诸如 GetRecordsWriteRecords 之类的方法来读写 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

它给出了几个异常,例如 ArgumentExceptionArgumentNullExceptionPathTooLongExceptionDirectoryNotFoundExceptionIOExceptionUnauthorizedAccessException。这些异常可以使用 try-catch 块来处理。

相关文章 - Csharp CSV file

  • C# 读取 CSV 文件并将其值存储到数组中
  • comments powered by Disqus