public ActionResult ExcelFilePost(FormCollection
form)
{
HttpPostedFileBase fileField =
Request.Files["fileField"];
string path =
Server.MapPath("~/Excel");
if
(!Directory.Exists(path))
{
Directory.CreateDirectory(path);
}
string
flieName =
fileField.FileName;
string fileExt =
Path.GetExtension(flieName).ToLower().Substring(1);
//验证是否为Excel文件
if (fileExt != "xls" && fileExt !=
"xlsx")
{
ModelState.AddModelError("file",
"您选择的不是Excel文件");
return
View("ExcelFile");
}
string
FileName = path +
flieName.Substring(flieName.LastIndexOf("\\"));
fileField.SaveAs(FileName);
//读取excel文件,转换成dataset
string
strConn;
strConn = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + FileName +
";Extended Properties=Excel
8.0;";
DataSet ds = new DataSet();
using
(OleDbConnection conn = new
OleDbConnection(strConn))
{
conn.Open();
//获取Excel表结构
System.Data.DataTable sTable =
conn.GetOleDbSchemaTable(System.Data.OleDb.OleDbSchemaGuid.Tables,
null);
conn.Dispose();
OleDbDataAdapter oada = new OleDbDataAdapter("select * from [" +
sTable.Rows[0][2] + "]",
strConn);
oada.Fill(ds);
}
//后面直接处理ds中的数据则可以
原文:http://www.cnblogs.com/CielWater/p/3580475.html