日期:2014-05-18  浏览次数:20913 次

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(); //就是

}
------解决方案--------------------
探讨
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……

------解决方案--------------------
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数据库那样,你必须知道表及字段名,才能进行查询工作的