OLEDB读取excel的工作表名
我现在用网上的例子,可以读到excel中的内容,但有个问题:必须要知道表名才能读出来,但也许别人给我的.xls工作薄中的表名我可能不知道,或不是给定的Sheet1,有没有方式查到它有几个工作表及其表名,再按需去读内容呢?多谢!
------解决方案--------------------String connString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + excelFile + ";Extended Properties=Excel 8.0;";
objConn = new OleDbConnection(connString);
objConn.Open();
System.Data.DataTable dt = objConn.GetOleDbSchemaTable(OleDbSchemaGuid.Tables, null);
foreach (DataRow row in dt.Rows)
{
row["TABLE_NAME"].ToString(); //就是
}
------解决方案--------------------
------解决方案--------------------C# code
private void button1_Click(object sender, EventArgs e)
{
OpenFileDialog dialog = new OpenFileDialog();//建立OpenFileDialog
dialog.Filter = "save files (*.xls)|*.xls|All files (*.*)|*.*";//设定dialog,过滤档案
dialog.InitialDirectory = "C:";//设定起始目录为C盘
dialog.InitialDirectory = Application.StartupPath;//设置起始目录为程式目录
dialog.Title = "Select a save file";//设定dialog的Title
if (dialog.ShowDialog() == DialogResult.OK)//加入使用者按下ok键,则将档案名显示在TextBox1上
{
TextBox1.Text = dialog.FileName;// selell为图中浏览按钮
}
}
------解决方案--------------------
好像EXCEL中的工作表名,必须指定吧,
就像MSSQL数据库那样,你必须知道表及字段名,才能进行查询工作的