使用OLEDB Connection选择Excel工作表使用范围
有没有办法通过OLEDB Command对象选择Excel工作表使用范围?
因为我有一个包含400行的Excel文件,但是当我删除200行并尝试再次选择工作表时,它再次选择最多400行而不是选择200行。 这是我为选择工作表而编写的代码:
oledbConn = new OleDbConnection(connectionString); oledbCmd = new OleDbCommand("select * from [Sheet1$]", oledbConn); oledbConn.Open(); oledbDr = oledbCmd.ExecuteReader(); while(oledbDr.Read()) { }
Afaik你可以用两种方式做到这一点:
第一。
在OleDBCommand中编写一个简单的SQL选择。 目前,您正在选择Excel中的所有行。 可能你从文档中删除了200行没有帮助,因为它仍然选择那些空行。
样品:
select * from [Sheet1$] WHERE ID <= 200
第二。
将您的整个数据加载到DataTable并以编程方式处理。
样品:
DataTable xlsData = new DataTable(); List result = new List (); string query = string.Format("SELECT * FROM [{0}]", this.SheetName); OleDbDataAdapter dbAdapter = new OleDbDataAdapter(query, dbConnection); dbAdapter.Fill(xlsData); foreach (DataColumn column in xlsData.Columns) { result.Add(column.ColumnName); }
尝试从[Sheet1 $]中选择DISTINCT *
上述就是C#学习教程:使用OLEDB Connection选择Excel工作表使用范围分享的全部内容,如果对大家有所用处且需要了解更多关于C#学习教程,希望大家多多关注---计算机技术网(www.ctvol.com)
本文来自网络收集,不代表计算机技术网立场,如涉及侵权请点击右边联系管理员删除。
如若转载,请注明出处:https://www.ctvol.com/cdevelopment/984880.html