迹忆客 专注技术分享

当前位置:主页 > 学无止境 > 编程语言 >

C# 将数据写入 CSV 文件

作者:迹忆客 最近更新:2024/01/16 浏览次数:

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 块来处理。

转载请发邮件至 1244347461@qq.com 进行申请,经作者同意之后,转载请以链接形式注明出处

本文地址:

相关文章

在 C# 中获取组合框的选定值

发布时间:2024/01/20 浏览次数:151 分类:编程语言

本教程展示了如何在 C# 中获取 ComboBox 的选定值。在本教程中,你将学习在 C# 中获取 ComboBox 的选定文本和值的不同方法。获取 ComboBox 控件的选定值的最常用方法是使用 C# 在按钮单击事件中获取

在 C# 中创建一个 UDP 服务器

发布时间:2024/01/20 浏览次数:158 分类:编程语言

在本文中,我们将学习如何在 C# 中创建 UDP 服务器。本文将展示如何在 C# 中创建一个简单的 UDP 服务器。在 C# 中创建一个 UDP 服务器

C# 中的 LINQ 分组

发布时间:2024/01/20 浏览次数:51 分类:编程语言

LINQ 中的 group by 用于按 C# 中的某个公共值对对象序列进行分组 C# 中的 LINQ 分组 LINQ 将类似 SQL 的查询功能与 C# 中的数据结构集成在一起。

使用 C# 在 LINQ 查询中按多列分组

发布时间:2024/01/20 浏览次数:167 分类:编程语言

这是一篇关于 LINQ 查询的使用以及我们如何使用 LINQ 查询按列分组的文章。本文简要介绍了使用 C# 进行的 LINQ 查询。此外,它还讨论了如何使用 LINQ 查询按多列对结果进行分组。

在 C# 中捕获多个异常

发布时间:2024/01/20 浏览次数:135 分类:编程语言

有两种主要方法可用于捕获 C# 中的多个异常,即 Exception 类和 catch 子句中的 if 语句。使用 C# 中的 Exception 类捕获多个异常 Exception 类用于表示 C# 中的一般异常。

C# 中为无效参数或参数引发的异常类型

发布时间:2024/01/20 浏览次数:71 分类:编程语言

本教程将教你如何在 C# 中为无效参数或参数抛出不同类型的异常。异常提供有关 C# 程序中的运行时错误或预期不会发生或违反系统/应用程序约束的条件的信息。在本教程中,你将学习与无效参

C# 中的异常列表

发布时间:2024/01/20 浏览次数:128 分类:编程语言

我们将查看本文中可能引发的 C# 异常。System Exception 类是 C# 编程语言中预定义的异常类,可用于编程。选择代码中可能出现的异常并将其插入到适当的 catch 块中。

扫一扫阅读全部技术教程

社交账号
  • https://www.github.com/onmpw
  • qq:1244347461

最新推荐

教程更新

热门标签

扫码一下
查看教程更方便