簡體   English   中英

C#從逗號分隔的文本文件讀取到Windows窗體

[英]C# Reading from Comma Separated Text File to Windows Form

我創建了一個Windows窗體,該窗體接受用戶輸入並將其以逗號分隔的方式寫入文本文件,並追加每行。 我希望能夠從該文件中讀取所有數據,並通過富文本框或標簽在另一個Windows窗體上將其顯示給用戶。

下面的代碼是我必須將數據讀取到計算機上特定位置的內容。 我不確定是否首先需要將數據讀入數組,然后將其發送到標簽或文本框。

using (StreamWriter InputFile = File.AppendText(@"C:\Users\person\Desktop\C#\New Text Document.txt"))
        {
            InputFile.WriteLine(textBox1.Text + "," + textBox2.Text + "," + textBox3.Text + "," + textBox4.Text);
            MessageBox.Show("Data Saved!");

我知道還有很多其他這樣的帖子,但是我似乎無法獲得我要找的答案

是的,您必須讀取數組中的所有行並使用類似以下的代碼

var lines =File.ReadAllLines(@"C:\Users\person\Desktop\C#\New Text Document.txt");
            foreach (var line in lines)
            {
                var col = line.Split(',');
                textBox1.Text = col[0]; 
                   textBox2.Text = col[1];
                textBox3.Text = col[2];
                textBox4.Text = col[3]; 
            } 

不,您可以使用File.ReadLines ,它返回IEnumerable<string>

int i = 1;
foreach (string line in File.ReadLines(path)) {
    string[] columns = line.Split(',');
    for (int c = 0; c < columns.Length; c++) {
        ((TextBox)Controls["textBox" + i++]).Text = columns[c];
    }
}

我假設您有第一行的文本框名稱為textBox1textBox4 ,第二行的文本框名稱為textBox5textBox8 ,依此類推。 但是使用網格可能會更好。

還考慮在名稱空間Microsoft.VisualBasic.FileIO使用TextFieldParser 它為您完成所有CSV處理。 您將必須添加對Microsoft.VisualBasic.dll的引用。

注意:Microsoft.VisualBasic.dll中的內容只是一個.NET庫,與其他任何庫一樣,並且在C#中的效果與在VB中一樣。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM