首先引用
using System.Data.OleDb;
然后
DataTable dt = ExcelToDataSet("f://b.xls", "sheet1");
public static DataTable ExcelToDataSet(string strExcelFileName, string strSheetName)
{
string strConn = "Provider=Microsoft.Jet.OLEDB.4.0; " + "Data Source= " + strExcelFileName + "; " + "Extended Properties= 'Excel 8.0;HDR=NO;IMEX=1 '; ";//注意 Data Source 中间只有一个空格 否则会报“找不到isam”的错误
//Sql语句
// string strExcel = string.Format( "select * from [{0}$] ", strSheetName); 这是一种方法
string strExcel = "select * from [sheet1$] ";
//定义存放的数据表
DataSet ds = new DataSet();
//连接数据源
OleDbConnection conn = new OleDbConnection(strConn);
conn.Open();
//适配到数据源
OleDbDataAdapter adapter = new OleDbDataAdapter(strExcel, strConn);
adapter.Fill(ds, strSheetName);
conn.Close();
return ds.Tables[strSheetName];
}