簡體   English   中英

在C#中將CSV用作datagridview的數據源

[英]Using a CSV as a datasource for a datagridview in c#

我有一個CSV文件,我想作為datagridview的數據源,但是在列標題之前有3條隨機行,它們是不需要的並且會影響表

例如:

Username: 01   
Date: 04/02/13   
*blank*            
Source, file, date, time

我用來獲取CSV並將其用作datagridview的代碼:

{
   string conStr = @"Driver={Microsoft Text Driver (*.txt; *.csv)};Dbq=" + Path.GetDirectoryName(Path.GetFullPath(path)) + ";Extensions=csv,txt";
   OdbcConnection conn = new OdbcConnection(conStr);

   OdbcDataAdapter da = new OdbcDataAdapter("Select * from [" + Path.GetFileName(path) + "]", conn);
   DataTable dt = new DataTable(path);
   da.Fill(dt);

   dataGridView1.DataSource = dt;

   da.Dispose();
   conn.Close();
   conn.Dispose();
}

因此,基本上,我需要讀取表的所有CSV,但要刪除文本的前3行。 有沒有辦法做到這一點作為查詢?

您可以將.NET txtReader用於文本文件

它支持以下可能適合您的connectionstring選項

  • 跳過行
  • 有標題
  • 忽略空行

這是一個示例連接字符串:

 Data Source='C:\MyFolder';Delimiter=',';Has Quotes=True;Skip Rows=0;Has Header=True;
 Comment Prefix='';Column Type=String,String,String,Int32,Boolean,String,String;
 Trim Spaces=False;Ignore Empty Lines=True;

在填充數據表之后,然后將其分配給gridview的數據源之前,請插入以下行:

 dt.Rows[0].Delete();
 dt.Rows[1].Delete();
 dt.Rows[2].Delete();
 dt.AcceptChanges();

暫無
暫無

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

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