从excel“csv格式”中获取数据类似于linq跳过

我需要根据行号从CSV文件中检索特定部分

在这里输入图像说明

例如:从第5行到第12

我正在使用OleDbConnection并试图使用此查询:

 select * from [sheet1.csv$A5:A12] 

但它不起作用。

C#代码:

  var filename = @"C:\Users\A\Desktop\passwords.csv"; var connString = string.Format( @"Provider=Microsoft.Jet.OleDb.4.0; Data Source={0};Extended Properties=""Text;HDR=YES;FMT=Delimited""", Path.GetDirectoryName(filename) ); using (var conn = new OleDbConnection(connString)) { conn.Open(); var query = "SELECT * FROM [" + Path.GetFileName(filename) + "$A5:A12]"; using (var adapter = new OleDbDataAdapter(query, conn)) { var ds = new DataSet("CSV File"); adapter.Fill(ds); } } 

错误

 The Microsoft Jet database engine could not find the object 'passwords.csv$A5:A12'. Make sure the object exists and that you spell its name and the path name correctly. 

这显示了一个使用StreamReader(它只是一个文本文件记住)和Jet驱动程序的例子:

http://www.codeproject.com/Articles/27802/Using-OleDb-to-Import-Text-Files-tab-CSV-custom

因此,丢失"$A5:A12]位,并使用一个DataReader,然后调用Read方法5次移动到第五行。

我不是一个C#程序员,只是一个好的Google员工。

而不是使用OleDbConnection我只是使用文件类

 var lines = File.ReadLines(filename); var rows = lines.Skip(4).Take(8);