我想了解如何在C#中使用oledb读取不同工作表名称的多个Excel工作表。目前我有一个读取多个工作表的方法(但是只能读取固定的工作表名称):
DataSet ds = new DataSet();
var excelConnectionString = string.Format("Provider=Microsoft.Jet.OLEDB.4.0;Data Source={0};Extended Properties=Excel 8.0", path);
OleDbConnection connection = new OleDbConnection();
connection.ConnectionString = excelConnectionString;
var i = 1;
while (i <= 4)
{
string query = "SELECT * FROM [Sheet" + i + "$]";
ds.Clear();
OleDbDataAdapter data = new OleDbDataAdapter(query, connection);
data.Fill(ds);
// other stuff
i = i + 1;
}
这个是有效的。但是我现在面临不同的情况,其中工作表名称不固定,例如:Sheet1 是 Dog,Sheet2 是 Cat,Sheet3 是 Bird。
现在我的问题是如何使用现有的代码循环这些工作表名称。