【问题标题】:trying to read some data from a csv file c#试图从 csv 文件 c# 中读取一些数据
【发布时间】:2016-04-18 13:01:04
【问题描述】:

我正在尝试从 csv 文件中读取一些数据并在 c# 中显示它 这工作正常,但我的 csv 文件中有 2 个不同的行,我也会添加它们。

如果有人在 ukNumber 字段中输入“1”,我希望它们可以访问,它将提取他们的所有数据。

atm 无论我输入什么,它总是显示我的 csv 文件中的最后一行。

namespace Appraisal
{


public partial class Form1 : Form
{

    public Form1()
    {
        InitializeComponent();
    }
    private void ukNumber_TextChanged(object sender, EventArgs e)
    {

    }

    public void search_Click(object sender, EventArgs e)
    {
        using (var reader = new StreamReader(File.OpenRead("C:\\Users\\hughesa3\\Desktop\\details.csv"),
                                 Encoding.GetEncoding("iso-8859-1")))
        {
            while (!reader.EndOfStream)
            {
                var line = reader.ReadLine();
                var values = line.Split(',');

                string idStr = values[0];
                string firstnameStr = values[0];
                string surnameStr = values[0];
                string jobroleStr = values[0];
                string salaryStr = values[0];

                richTextBox1.Text = "Name: " + values[1] + "\nSurname: " + values[2] + "\nJob Role: " + values[3] + "\nSalary: £" + values[4];
            }
        }
    }

    private void richTextBox1_TextChanged(object sender, EventArgs e)
    {

    }

    private void apprasialCode_TextChanged(object sender, EventArgs e)
    {
    }

    private void apprasialBtn_Click(object sender, EventArgs e)
    {
    }

    private void ukNumberLabel_Click(object sender, EventArgs e)
    {

    }
}

}

【问题讨论】:

  • 为什么是 csv?为什么不想使用 xml 或 json?
  • 您要读取或写入 csv 文件吗?
  • 我试图从 csv 读取,当用户在字段中输入 ID 并单击搜索时,它将加载文本框中的其余信息。我使用 csv 就像我一起工作的人给我设置了一个任务来尝试,因为我正在为我的学徒学习 c#

标签: c#


【解决方案1】:

有一个可通过 Nuget 获得的 CsvHelper

https://www.nuget.org/packages/CsvHelper/

请参阅以下问题: using csvhelper (nuGET) with C# MVC to import CSV files

【讨论】:

    【解决方案2】:

    从 csv 文件中读取数据:

    using (var reader = new StreamReader(File.OpenRead("c:/yourfile.csv"), 
                                         Encoding.GetEncoding("iso-8859-1"))) 
    {
        while (!reader.EndOfStream)
        {
            var line = reader.ReadLine();
            var values = line.Split(';'); // replace ';' by the your separator
    
            string idStr = values[0];
            string firstnameStr = values[0];
            string surnameStr = values[0];
            string jobroleStr = values[0];
            string salaryStr = values[0];
    
            //convert string
        }
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-08-01
      • 2014-01-07
      • 2019-09-17
      • 1970-01-01
      • 2013-05-03
      相关资源
      最近更新 更多