这是微软提供的方法,读取数据比较快。实例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();
}
浙公网安备 33010602011771号