第一种可以使用OLEDB导入EXCEL为DataTable,然后再读取。
#region 导入Excel文件
public static DataTable ImportExcel(string filePathName)
{
string strConn = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + HttpContext.Current.Server.MapPath(filePathName) + ";Extended Properties=Excel 8.0";
//链接Excel
OleDbConnection cnnxls = new OleDbConnection(strConn);
//读取Excel里面有 表Sheet1
string abc = filePathName.Substring(filePathName.LastIndexOf("/") + 1);
OleDbDataAdapter oda = new OleDbDataAdapter("select * from [" + abc + "$]", cnnxls);
DataSet ds = new DataSet();
//将Excel里面有表内容装载到内存表中!
oda.Fill(ds);
return ds.Tables[0];
}
#endregion
再则就是使用“Microsoft.Office.Interop.Excel”,这是前提是服务器需要安装OFFICE相关组件。
http://www.cnblogs.com/zjjking/archive/2009/10/22/1588285.html
这是通过“添加引用”加进来的。右击项目,然后选择“添加引用”,在对话框中的 .NET 标签下选择“Microsoft.Office.Interop.Excel”。
有几点需要注意。