在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; }
- ADO.NET c#填充Excel表格
- 使用ADO.NET创buildExcel工作表(OleDb) – >支持哪些DataTypes?
- 该字段太小,无法接受您尝试添加的数据量。 有没有人从ADO.NET得到这个错误?
- 如何从内存Excel工作表中填充DataTable
- 间歇性问题 – OleDbConnection.Open()抛出System.Data.OleDb.OleDbException:未指定的错误
- 服务/消费OData接口的entity framework的替代scheme
- 如何在Excel中使用ADO.NET托pipe提供程序?
- 如何在导入Excel中select以哪个行开头的数据库
- 在Excel中跨页面过滤数据