C# CSV 读取器和写入器
提供读取和写入 CSV 文件能力的类库
引言
我已经记不清我参与过多少项目需要我以CSV格式写入数据,并将其提供给用户下载了。在一个最近的项目中,我决定实现一些类,以简化从CSV文件读取和写入的过程。
我在网上搜索了一下,寻找一个简单的解决方案。已经有很多类可以做到这一点,但我发现它们过于复杂。
所以我决定自己构建一个!
Using the Code
以下是一些关于如何使用这些类的示例。这些类有很多构造函数和方法重载,允许从/向文件、字符串和流进行读取/写入。
使用 CsvReader 类
List<List<string>> records = new List<List<string>>();
using (CsvReader reader = new CsvReader(FilePath, Encoding.Default))
{
while (reader.ReadNextRecord())
records.Add(reader.Fields);
}
CsvReader
类具有以下属性
TrimColumns
- 获取或设置是否应修剪列和标题值HasHeaderRow
- 获取或设置CSV内容是否具有标题行Fields
- 获取当前记录中的字段FieldCount
- 获取当前记录中的字段数
使用 CsvFile 类
CsvFile file = new CsvFile();
file.Populate(FilePath, true);
CsvFile
类具有以下属性
Headers
- 获取列标题Records
- 获取CSV文件中的记录HeaderCount
- 获取标题列的数量RecordsCount
- 获取CSV文件中的记录数
使用 CsvWriter 类
CsvFile csvFile = new CsvFile();
csvFile.Populate(FilePath, true);
using (CsvWriter writer = new CsvWriter())
{
writer.WriteCsv(csvFile, FilePath);
}
CsvWriter
类具有以下属性
ReplaceCarriageReturnsAndLineFeedsFromFieldValues
- 获取或设置是否应替换字段值中的回车符和换行符。CarriageReturnAndLineFeedReplacement
- 获取或设置回车符和换行符的字符替换。
历史
版本 1.0 (2010-06-22)
- 1.0:首次发布