我有以下代碼從用戶指定的CSV文件中提取數據。 CSV文件沒有任何標題,並有四列數據。我試圖將這些數據導入到dataGridView數據源,但得到意想不到的結果。每一次,它都會佔用第一行,並使其成爲標題列。我嘗試在開始處插入一行(註釋掉文本),但它只會將行添加到數據源,但不會將其視爲標題。我並不擔心有頭文件,但希望我的數據不會「忽略」第一行,因爲它將其視爲頭文件。使用第一行作爲標題將無標題CSV導入數據網格視圖
string sql_select;
string strConnString = "Driver={Microsoft Text Driver (*.txt; *.csv)};Dbq=" + Path.GetDirectoryName(odfDeficit.FileName).Trim() + ";Extensions=asc,csv,tab,txt";
DataSet ds = new DataSet();
OdbcConnection conn = new OdbcConnection(strConnString.Trim());
sql_select = "select * from [" + Path.GetFileName(odfDeficit.FileName).Trim() + "]";
OdbcDataAdapter obj_oledb_da = new OdbcDataAdapter(sql_select, conn);
obj_oledb_da.Fill(ds, "csv");
//DataRow dr;
//dr = ds.Tables["csv"].NewRow();
//dr[0] = "First Name";
//dr[1] = "Last Name";
//dr[2] = "Last Four of SSN";
//dr[3] = "Deficit Amount";
//ds.Tables["csv"].Rows.InsertAt(dr, 0);
dataGridView1.DataSource = ds.Tables["csv"];
conn.Close();
當我試圖使用'Microsoft.VisualBasic.FileIO;'它給了一個錯誤說,它不能被發現。我以前從未使用過Visual C#,但有一天可以完成任務並創建一個ETL工具。吮吸我。但是,我告訴他們,他們需要在CSV中包含標題行,這些標題行是他們給我的。這是它工作的唯一途徑。我喜歡你的方法最好。不知道它是否會起作用,但似乎足夠合理。 – kobaltz 2013-05-10 12:36:17