C#写入csv字符串
时间: 2025-09-03 22:47:01 AIGC 浏览: 15
在C#中写入CSV字符串可以通过不同的方式实现。以下是几种常见的方法:
### 方法一:使用`StreamWriter`手动拼接
可以手动拼接CSV格式的字符串,然后使用`StreamWriter`将其写入文件。以下是一个示例代码:
```csharp
using System;
using System.Collections.Generic;
using System.IO;
using System.Text;
class Program
{
public static void WriteCSV(string fileName, List<double[]> dataList)
{
if (fileName.Length > 0)
{
using (FileStream fs = new FileStream(fileName, FileMode.Create, FileAccess.Write))
using (StreamWriter sw = new StreamWriter(fs, Encoding.UTF8))
{
// 写入标题栏
string dataHeader = "A,B,C,D,E";
sw.WriteLine(dataHeader);
// 写入数据
foreach (var dataRow in dataList)
{
string dataStr = string.Join(",", dataRow);
sw.WriteLine(dataStr);
}
}
}
}
}
```
这个方法的思路是先创建文件流和写入器,然后手动拼接标题栏和数据行,使用逗号分隔每个数据项,最后将其写入文件。代码参考了引用中使用`StreamWriter`的基本操作 [^1]。
### 方法二:使用`StringBuilder`构建字符串
可以使用`StringBuilder`来构建CSV格式的字符串,然后一次性写入文件。示例代码如下:
```csharp
using System;
using System.Collections.Generic;
using System.IO;
using System.Text;
class Program
{
public static void WriteCSVUsingStringBuilder(string fileName, List<double[]> dataList)
{
if (fileName.Length > 0)
{
StringBuilder csvContent = new StringBuilder();
// 写入标题栏
csvContent.AppendLine("A,B,C,D,E");
// 写入数据
foreach (var dataRow in dataList)
{
string dataStr = string.Join(",", dataRow);
csvContent.AppendLine(dataStr);
}
File.WriteAllText(fileName, csvContent.ToString(), Encoding.UTF8);
}
}
}
```
这种方法先使用`StringBuilder`构建完整的CSV字符串,最后使用`File.WriteAllText`方法将其写入文件。
### 方法三:使用第三方库(如CsvHelper)
`CsvHelper`是一个强大的第三方库,可以简化CSV文件的读写操作。首先需要通过NuGet安装`CsvHelper`。以下是使用示例:
```csharp
using System;
using System.Collections.Generic;
using System.IO;
using CsvHelper;
using System.Globalization;
class Program
{
public static void WriteCSVUsingCsvHelper(string fileName, List<double[]> dataList)
{
using (var writer = new StreamWriter(fileName))
using (var csv = new CsvWriter(writer, CultureInfo.InvariantCulture))
{
// 写入标题栏
csv.WriteField("A");
csv.WriteField("B");
csv.WriteField("C");
csv.WriteField("D");
csv.WriteField("E");
csv.NextRecord();
// 写入数据
foreach (var dataRow in dataList)
{
foreach (var dataItem in dataRow)
{
csv.WriteField(dataItem);
}
csv.NextRecord();
}
}
}
}
```
`CsvHelper`提供了更高级的功能,如数据映射、类型转换等,能更方便地处理复杂的CSV写入需求。
阅读全文
相关推荐



















