我寫了下面的代碼從.csv文件中讀取數據從Windows窗體應用程序CSV文件中顯示的數據:閱讀和使用C#
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using System.IO;
namespace CSVRead
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void buttonRead_Click(object sender, EventArgs e)
{
DataTable dataTable = new DataTable();
dataTable.Columns.Add("Username");
dataTable.Columns.Add("Password");
dataTable.Columns.Add("MachineID");
string filePath = textBox1.Text;
StreamReader streamReader = new StreamReader(filePath);
string[] totalData = new string[File.ReadAllLines(filePath).Length];
totalData = streamReader.ReadLine().Split(',');
while (!streamReader.EndOfStream)
{
totalData = streamReader.ReadLine().Split(',');
dataTable.Rows.Add(totalData[0], totalData[1], totalData[2]);
}
dataGridView1.DataSource = dataTable;
}
private void dataGridView1_CellContentClick(object sender, DataGridViewCellEventArgs e)
{
}
}
}
這裏是我的CSV文件數據(readCSV.csv):
Username, Password, MachineID
abc, abc, 123
jkl, jkl, 789
rst, rst, 456
我有一個的dataGridView我Windows窗體應用程序(見下文,因爲我還沒有積累足夠的聲譽張貼圖片圖像鏈接),並希望顯示在這個從CSV文件中的數據網格視圖。此代碼不會引發任何錯誤/警告,但它不會執行它應該的方式。單擊「查找」按鈕時,數據不會顯示在dataGridView中。我正在使用Visual Studio 2013專業版。
我傻:哎呀!上面的代碼工作得很好......我在遠程機器上寫我的代碼,並將我的文件存儲在本地計算機上。此外,按鈕點擊事件的名稱錯誤輸入。
注意:答案已被標記爲接受,因爲它的邏輯也起作用。在我的問題上面寫的代碼也是一個絕對好的工作
你檢查上的DataGridView的AutoGenerateColumns? https://msdn.microsoft.com/es-es/library/system.windows.forms.datagridview.autogeneratecolumns(v=vs.110).aspx –
到目前爲止,我還沒有檢查它 –
'File.ReadAllLines' will將文件讀入一個枚舉類型,所以你可以像'var contents = File.ReallAllLines(path)'這樣做,然後擺脫流讀取器,然後循環遍歷'contents'並在那裏分割線。 –