在c#中从XLSX读取数据

我是新来的C#,并试图阅读在C#中的XLSX文件与下面的代码:

string Connection = "Provider=Microsoft.ACE.OLEDB.12.0;DataSource=c:\\Temp\\source.xlsx;Extended Properties=\"Excel 12.0;HDR=Yes;IMEX=1\";"; //code to read the content of format file OleDbConnection con = new OleDbConnection(Connection); OleDbCommand command = new OleDbCommand(); DataTable dt = new DataTable(); OleDbDataAdapter myCommand = new OleDbDataAdapter("select * from [Tabelle1$]", con); myCommand.Fill(dt); Console.Write(dt.Rows.Count); 

我从输出中得到了正确的计数,但是我还有两个问题:

1.如何做select select语句(如何访问行)?

  select * from [Tabelle1$] where A = '123' (A being an existing Excel row) 

会抛出错误提及错误的参数…

2.任何人都可以提供给我一个教程链接或简短的示例如何访问数据?

请参考下面的示例代码:

 private DataTable LoadXLS(string strFile, String sheetName, String column, String value) { DataTable dtXLS = new DataTable(sheetName); try { string strConnectionString = ""; if(strFile.Trim().EndsWith(".xlsx")) { strConnectionString = string.Format("Provider=Microsoft.ACE.OLEDB.12.0;Data Source={0};Extended Properties=\"Excel 12.0 Xml;HDR=YES;IMEX=1\";", strFile); } else if(strFile.Trim().EndsWith(".xls")) { strConnectionString = string.Format("Provider=Microsoft.Jet.OLEDB.4.0;Data Source={0};Extended Properties=\"Excel 8.0;HDR=Yes;IMEX=1\";", strFile); } OleDbConnection SQLConn = new OleDbConnection(strConnectionString); SQLConn.Open(); OleDbDataAdapter SQLAdapter = new OleDbDataAdapter(); string sql = "SELECT * FROM [" + sheetName + "$] WHERE " + column + " = " + value; OleDbCommand selectCMD = new OleDbCommand(sql, SQLConn); SQLAdapter.SelectCommand = selectCMD; SQLAdapter.Fill(dtXLS); SQLConn.Close(); } catch (Exception e) { Console.WriteLine(e.ToString()); } return dtXLS; }