代码改变世界

C#读取Excel文档

2009-03-17 13:38  K-imba  阅读(217)  评论(0编辑  收藏  举报

有时候我们会使用C#里读取excel文档,其实读取excel文档是很简单的,下面是代码:

private DataTable getTable()
{
    try
    {

//        path即是excel文档的路径。

        string conn = @"Provider=Microsoft.Jet.OLEDB.4.0;Data Source= Path"+";Extended Properties=Excel 8.0;";

        //Sheet1为excel中表的名字
        string sql = "select * from ["Sheet1$]";
        OleDbCommand cmd = new OleDbCommand(sql, new OleDbConnection(conn));
        OleDbDataAdapter ad = new OleDbDataAdapter(cmd);
        DataSet ds = new DataSet();
        ad.Fill(ds);             
        return ds.Tables[0];
    }
    catch (Exception ex)
    {
        MessageBox.Show(ex.Message);
        return null;
    }
}

 

 

 

在这里我们可以用OleDbConnection来获得Excel中有几张表。
代码如下:
string conn = @"Provider=Microsoft.Jet.OLEDB.4.0;Data Source= path;" + "Extended Properties=Excel 8.0;";
//Sheet1为excel中表的名字

OleDbConnection cnn=new OleDbConnection (conn);
cnn.Open();
DataTable dt=cnn.GetOleDbSchemaTable(OleDbSchemaGuid.Tables,null);

string[dt.Row.Count] sheets={};
for(int i=0;i<dt.Row.Count;i++)
{
sheets[i]=dt.Row[""TABLE_NAME].ToString();
}