C#中是否有CSV读写器库?
C#中是否有读者/作者库?是的-尽管我想你实际上是在询问细节C#中是否有CSV读写器库?,c#,csv,C#,Csv,C#中是否有读者/作者库?是的-尽管我想你实际上是在询问细节 试试看是的-尽管我想你实际上是在问细节 试试看,有几十个 是最常见的一种 我应该说,我发现FileHelper在某些情况下具有限制性,而是使用。根据我的经验,如果您在运行时之前不知道CSV文件的格式或导入映射,那么这是一个更好的库 有几十个 是最常见的一种 我应该说,我发现FileHelper在某些情况下具有限制性,而是使用。根据我的经验,如果您在运行时之前不知道CSV文件的格式或导入映射,那么这是一个更好的库 Sebastien L
试试看是的-尽管我想你实际上是在问细节 试试看,有几十个 是最常见的一种 我应该说,我发现FileHelper在某些情况下具有限制性,而是使用。根据我的经验,如果您在运行时之前不知道CSV文件的格式或导入映射,那么这是一个更好的库 有几十个 是最常见的一种
我应该说,我发现FileHelper在某些情况下具有限制性,而是使用。根据我的经验,如果您在运行时之前不知道CSV文件的格式或导入映射,那么这是一个更好的库 Sebastien Lorion在CodeProject上有一个很棒的
CSV
阅读器,名为。可能是C#最好的,而且是免费的
至于写作,只需使用StreamWriter
下面是一些将DataGridView
写入文件的样板代码:
private void exportDGVToCSV(string filename)
{
if (dataGridView1.Columns.Count != 0)
{
using (Stream stream = File.OpenWrite(filename))
{
stream.SetLength(0);
using (StreamWriter writer = new StreamWriter(stream))
{
// loop through each row of our DataGridView
foreach (DataGridViewRow row in dataGridView1.Rows)
{
string line = string.Join(",", row.Cells.Select(x => $"{x}"));
writer.WriteLine(line);
}
writer.Flush();
}
};
}
}
Sebastien Lorion在CodeProject上有一个很棒的
CSV
阅读器,名为。可能是C#最好的,而且是免费的
至于写作,只需使用StreamWriter
下面是一些将DataGridView
写入文件的样板代码:
private void exportDGVToCSV(string filename)
{
if (dataGridView1.Columns.Count != 0)
{
using (Stream stream = File.OpenWrite(filename))
{
stream.SetLength(0);
using (StreamWriter writer = new StreamWriter(stream))
{
// loop through each row of our DataGridView
foreach (DataGridViewRow row in dataGridView1.Rows)
{
string line = string.Join(",", row.Cells.Select(x => $"{x}"));
writer.WriteLine(line);
}
writer.Flush();
}
};
}
}
框架本身就有几个选项 最简单的方法之一是引用Microsoft.VisualBasic,然后使用。它是核心框架中功能齐全的CSV阅读器
另一个很好的选择是。框架本身有两个选项 最简单的方法之一是引用Microsoft.VisualBasic,然后使用。它是核心框架中功能齐全的CSV阅读器 另一个好的选择是尝试。它和FastCsvReader一样易于使用,也可以进行书写。过去我对FastCsvReader很满意,但我也需要一些能写东西的东西,对FileHelper不满意 阅读:
var csv = new CsvReader( stream );
var myCustomTypeList = csv.GetRecords<MyCustomType>();
var csv = new CsvWriter( stream );
csv.WriteRecords( myCustomTypeList );
完全披露:我是这个图书馆的作者。试试看。它和FastCsvReader一样易于使用,也可以进行书写。过去我对FastCsvReader很满意,但我也需要一些能写东西的东西,对FileHelper不满意
阅读:
var csv = new CsvReader( stream );
var myCustomTypeList = csv.GetRecords<MyCustomType>();
var csv = new CsvWriter( stream );
csv.WriteRecords( myCustomTypeList );
完全披露:我是这个图书馆的作者。这是我最喜欢的。很棒的小程序库。编写CSV很简单-只需使用普通的文本输出方法,并用逗号分隔。你真的只需要一个库/自定义处理程序来读取…@Reed:如果你想让逗号和引号正确转义,这并不简单。我甚至不确定这是否有一个标准化,但这是非常常见的。编写CSV比这要复杂一些。如果要在CSV文件中表示的数据包含逗号或新行,则需要用引号将数据括起来。如果新加引号的数据中有引号,则需要使用双引号转义引号。您当然可以自己编写该逻辑,但如果有一个库可以为您编写,那就太好了。标准化是RFC4180。这是我最喜欢的。很棒的小程序库。编写CSV很简单-只需使用普通的文本输出方法,并用逗号分隔。你真的只需要一个库/自定义处理程序来读取…@Reed:如果你想让逗号和引号正确转义,这并不简单。我甚至不确定这是否有一个标准化,但这是非常常见的。编写CSV比这要复杂一些。如果要在CSV文件中表示的数据包含逗号或新行,则需要用引号将数据括起来。如果新加引号的数据中有引号,则需要使用双引号转义引号。您当然可以自己编写该逻辑,但如果有一个库可以为您编写,那就太好了。标准化是RFC4180。我一直想知道为什么它在Microsoft.VisualBasic程序集中。。。微软认为C#开发者没有使用CSV吗?@Thomas:特别是因为很多C#开发者一想到在他们的项目中包含一个可视化的基本组件就畏缩了。是的,这里面有很多不错的“好东西”。我认为这更多是因为VB有一些最初在框架中没有真正考虑的语言结构,但是如果不实现它们,它们将永远无法让VB6用户理解它们。设备和应用程序服务名称空间有各种有用的东西。@Roboto,任何在项目中畏缩于引用Microsoft.VisualBasic的C#开发人员,都是一个无知的语言势利小人。更糟糕的是,他们根本不懂.NET。另一个VB程序集宝石是CopyDirectory:我一直想知道为什么它在Microsoft.VisualBasic程序集中。。。微软认为C#开发者没有使用CSV吗?@Thomas:特别是因为很多C#开发者一想到在他们的项目中包含一个可视化的基本组件就畏缩了。是的,这里面有很多不错的“好东西”。我认为这更多是因为VB有一些最初在框架中没有真正考虑的语言结构,但是如果不实现它们,它们将永远无法让VB6用户理解它们。设备和应用程序服务名称空间有各种有用的东西。@Roboto,任何在项目中畏缩于引用Microsoft.VisualBasic的C#开发人员,都是一个无知的语言势利小人。更糟糕的是,他们根本不懂.NET。另一个VB程序集的宝石是CopyDirectory:我们也使用FileHelper。我发现FileHelper配置起来很麻烦。FastCsvReader更易于使用。+1表示FastCsvReader。出色的表现。但它主要是一个阅读器/解析器。不是编写器。我们也使用FileHelper。我发现FileHelper配置起来很麻烦。FastCsvReader是一个非常棒的人