实现思路:通过在C#中将数据写入CSV格式的文本文件,来创建CSV文件,而无需使用任何外部包。以下为示例代码:
CsvExporter
类,封装了CSV导出的功能,通过调用ExportToCsv
方法可以将数据导出到CSV文件:
using System;
using System.IO;
// CsvExporter类用于将数据导出到CSV文件
class CsvExporter
{
// 导出数据到CSV文件的方法
// 参数data:要导出的数据数组
// 参数filePath:要保存的CSV文件路径
public static void ExportToCsv(string[,] data, string filePath)
{
try
{
// 使用StreamWriter写入CSV文件
using (var streamWriter = new StreamWriter(filePath))
{
// 遍历数据数组的行
for (int i = 0; i < data.GetLength(0); i++)
{
// 遍历当前行的列
for (int j = 0; j < data.GetLength(1); j++)
{
// 如果当前单元格不是行中的最后一个单元格,则在单元格值后添加逗号
if (j < data.GetLength(1) - 1)
streamWriter.Write($"{data[i, j]},");
else
streamWriter.Write($"{data[i, j]}");
}
// 写完一行所有单元格后换行
streamWriter.WriteLine();
}
}
// 输出CSV文件创建成功的消息
Console.WriteLine($"CSV文件已创建: {filePath}");
}
// 捕获并处理可能的异常
catch (Exception ex)
{
// 输出异常信息
Console.WriteLine($"导出CSV时出错: {ex.Message}");
}
}
}
Main
方法,创建示例数据,并调用CsvExporter.ExportToCsv
方法将数据导出到CSV文件中:
class Program
{
static void Main(string[] args)
{
// 示例数据数组,包含姓名、年龄和城市信息
var data = new string[,]
{
{"Name", "Age", "City"},
{"zhanshan", "30", "shenzhen"},
{"lishi", "25", "beijing"},
{"wangwu", "40", "chendu"}
};
// CSV文件的保存路径
string filePath = Path.Combine("C:\\", "data.csv");
// 调用CsvExporter类的ExportToCsv方法,导出数据到CSV文件
CsvExporter.ExportToCsv(data, filePath);
}
}