这是微软提供的方法,读取数据比较快。实例1    读取Excel工作薄中的全部数据
         读取Excel工作薄1(工作薄名称:Sheet1)中的全部数据,在OleDbDataAdapter对象中的SQL语句应为:"Select 字段列表 From [工作表名$]"。
代码示例:
public void ReadExcel(string sExcelFile)
{
string sConnectionString = "Provider=Microsoft.Jet.Oledb.4.0;Data Source=" + sExcelFile + ";Extended Properties=Excel 8.0";
OleDbConnection connection = new OleDbConnection(sConnectionString);
OleDbDataAdapter adp = new OleDbDataAdapter("Select * from [Sheet1$]",connection);
DataSet ds = new DataSet();
adp.Fill(ds,"Book1");
grd_Excel.DataSource = ds.Tables["Book1"].DefaultView;
grd_Excel.DataBind();
}

-----------------------------------------------------------------------

实例2    读取Excel工作薄选定区域中的数据
         首先在工作簿中,左键拖拽选取要定义成为表的区域,从菜单中选择‘插入’->‘名称’->‘定义’,在‘定义名称’对话框出现中键入表的名字:“TestTable”,OK。
         那么SQL语句应为:SELECT * FROM TestTable。
代码示例:
public void ReadExcel(string sExcelFile)
{
string sConnectionString = "Provider=Microsoft.Jet.Oledb.4.0;Data Source=" + sExcelFile + ";Extended Properties=Excel 8.0";
OleDbConnection connection = new OleDbConnection(sConnectionString);
OleDbDataAdapter adp = new OleDbDataAdapter("SELECT * FROM TestTable", connection);
DataSet ds = new DataSet();
adp.Fill(ds,"Book1");
grd_Excel.DataSource = ds.Tables["Book1"].DefaultView;
grd_Excel.DataBind();
}

posted on 2008-04-22 17:25  blogsweb  阅读(309)  评论(0)    收藏  举报