分享

.net导入Excel 获取工作表名

 yuelianga 2012-08-21
(1)
string strConn = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + Server.MapPath("/") + "Stu2009-10-15.xls" + ";Extended Properties='Excel 8.0;HDR=Yes;IMEX=1'";
            OleDbConnection objConn = new OleDbConnection(strConn);       
            List <string> SheetNameList = new List <string>();         
                objConn.Open();
                DataTable dtExcelSchema = objConn.GetOleDbSchemaTable(OleDbSchemaGuid.Tables, new object[] { null, null, null, "TABLE" });
                string SheetName = "";
                for (int i = 0; i < dtExcelSchema.Rows.Count; i++)
                {
                    SheetName = dtExcelSchema.Rows[i]["TABLE_NAME"].ToString();
                    SheetNameList.Add(SheetName);
                }
                GridView1.DataSource =SheetNameList;
                GridView1.DataBind();
----------------------------------------------------------------------------------
(2).net 获取Excel所有工作表名称:

OleDbConnection oleConn = new OleDbConnection();
oleConn.ConnectionString = "Provider=Microsoft.Jet.Oledb.4.0;data source=D:\\Data.xls;Extended Properties=Excel 8.0;";
oleConn.Open();
DataTable dtOle = oleConn.GetSchema("Tables");
DataTableReader dtReader = new DataTableReader(dtOle);

while (dtReader.Read())
{
MessageBox.Show(dtReader["Table_Name"]);
}
dtReader = null;
dtOle = null;
oleConn.Close();
----------------------------------------------------------------------------------------------------
(3)

public DataSet ExcelToDS(string Path)
    {
        string strConn = "Provider=Microsoft.Jet.OLEDB.4.0;" + "Data Source=" + Path + ";" + "Extended Properties=Excel 8.0;";
        OleDbConnection conn = new OleDbConnection(strConn);
        conn.Open();
        string strExcel = "";
        OleDbDataAdapter myCommand = null;
        DataSet ds = null;
        
        DataTable dt = conn.GetOleDbSchemaTable(OleDbSchemaGuid.Tables, new object[] { null, null, null, "TABLE" });
        string SheetName = dt.Rows[0]["TABLE_NAME"].ToString(); //这里就是取得表的名字了

        strExcel = "select * from [" + SheetName + "]";

        myCommand = new OleDbDataAdapter(strExcel, strConn);
        ds = new DataSet();
        myCommand.Fill(ds, "table1");
        myCommand.Dispose();
        conn.Close();
        return ds;
    }

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多