You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

C#如何正确将读取CSV生成的数组加载到DataGridView对应单元格

问题根因

你当前的代码仅将CSV内容按换行拆分为了行数组,没有对每一行的内容按CSV的分隔符(你当前使用的是分号;)做二次拆分,所以才会把整行内容全部填入同一个单元格。同时原代码还存在两个隐性问题:

  • 行数组result定义在using代码块内部,外部循环无法访问,编译会报错
  • 第二列的显示名拼写有误,少了末尾的字母d

修正后可直接运行的代码

public void Load()
{
    string[] result;
    // 读取CSV文件并按换行拆分为行数组
    using (StreamReader sr = new StreamReader("Accounts.csv"))
    {
        string strResult = sr.ReadToEnd();
        result = strResult.Split(new string[] { Environment.NewLine }, StringSplitOptions.RemoveEmptyEntries);
    }
    // 手动添加列,修正了原拼写错误的列名
    dataGridView1.Columns.Add("Account#", "Account#");
    dataGridView1.Columns.Add("Password", "Password");
    dataGridView1.Columns.Add("Server", "Server");
    // 从下标1开始遍历,跳过CSV第一行的表头内容
    for (int i = 1; i < result.Length; i++)
    {
        // 对单行内容按分号二次拆分,得到每个单元格的独立值
        string[] cellValues = result[i].Split(';');
        // Trim处理第三列末尾的多余空格
        dataGridView1.Rows.Add(cellValues[0], cellValues[1], cellValues[2].Trim());
    }
}

补充说明

如果后续你的CSV格式变复杂,出现了用引号包裹、内部包含分号的字段,上面的简单拆分逻辑会出错,生产环境建议使用专门的CSV解析库处理。


内容的提问来源于stack exchange,提问作者M_Arad

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.24 20:45:03