我有一个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行。有没有办法将此作为查询?
答案 0 :(得分:2)
您可以使用.NET txtReader for Text files
它支持以下可能派上用场的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;
答案 1 :(得分:0)
填充数据表后,在将其分配给gridview的数据源之前插入以下行:
dt.Rows[0].Delete();
dt.Rows[1].Delete();
dt.Rows[2].Delete();
dt.AcceptChanges();