页面:
<asp:FileUpload ID="fuload" runat="server" style="width: 175px;"/>
<input type="button" value="导入" class="Btn2" οnclick="page.saveAvatar();" />
后台:
if (fuload.FileName == "")
{
RegisterStartupScript("error", "未选择导入文件!!!");
return;
}
//导入文件的的格式错误
string fileExtenSion = Path.GetExtension(fuload.FileName);
if (fileExtenSion.ToLower() != ".xls" && fileExtenSion.ToLower() != ".xlsx")
{
RegisterStartupScript("error", "导入文件格式不对,文件格式:.xls或.xlsx");
return;
}
//判断文件夹是否存在
if (Directory.Exists(Server.MapPath("App_Data")) == false)
{
Directory.CreateDirectory(Server.MapPath("App_Data"));
}
string FileName = "App_Data/" + Path.GetFileName(fuload.FileName);
//删除指定文件
//if (File.Exists(Server.MapPath(FileName)))
//{
// File.Delete(Server.MapPath(FileName));
//}
//删除指定文件夹下所有文件
foreach (string d in Directory.GetFileSystemEntries(Server.MapPath("App_Data")))
{
if (File.Exists(d))
{
File.Delete(d);//直接删除其中的文件
}
}
fuload.SaveAs(Server.MapPath(FileName));
//HDR=Yes,这代表第一行是标题,不做为数据使用,如果用HDR=No,则表示第一行不是标题
string connstr2003 = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + Server.MapPath(FileName) + ";Extended Properties='Excel 8.0;HDR=Yes;IMEX=1;'";
string connstr2007 = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" + Server.MapPath(FileName) + ";Extended Properties=\"Excel 12.0;HDR=YES\"";
OleDbConnection conn;
if (fileExtenSion.ToLower() == ".xls")
{
conn = new OleDbConnection(connstr2003);
}
else
{
conn = new OleDbConnection(connstr2007);
}
conn.Open();
string sql1 = "select * from [tb_Customers$]";
OleDbCommand cmd1 = new OleDbCommand(sql1, conn);
DataTable ctmdt = new DataTable();//创建一个DataTable表,用于存储从excel表中读取的数据
OleDbDataReader ord1 = cmd1.ExecuteReader();
ctmdt.Load(ord1);
ord1.Close();
conn.Close();
//插入数据到SQL
<asp:FileUpload ID="fuload" runat="server" style="width: 175px;"/>
<input type="button" value="导入" class="Btn2" οnclick="page.saveAvatar();" />
后台:
if (fuload.FileName == "")
{
RegisterStartupScript("error", "未选择导入文件!!!");
return;
}
//导入文件的的格式错误
string fileExtenSion = Path.GetExtension(fuload.FileName);
if (fileExtenSion.ToLower() != ".xls" && fileExtenSion.ToLower() != ".xlsx")
{
RegisterStartupScript("error", "导入文件格式不对,文件格式:.xls或.xlsx");
return;
}
//判断文件夹是否存在
if (Directory.Exists(Server.MapPath("App_Data")) == false)
{
Directory.CreateDirectory(Server.MapPath("App_Data"));
}
string FileName = "App_Data/" + Path.GetFileName(fuload.FileName);
//删除指定文件
//if (File.Exists(Server.MapPath(FileName)))
//{
// File.Delete(Server.MapPath(FileName));
//}
//删除指定文件夹下所有文件
foreach (string d in Directory.GetFileSystemEntries(Server.MapPath("App_Data")))
{
if (File.Exists(d))
{
File.Delete(d);//直接删除其中的文件
}
}
fuload.SaveAs(Server.MapPath(FileName));
//HDR=Yes,这代表第一行是标题,不做为数据使用,如果用HDR=No,则表示第一行不是标题
string connstr2003 = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + Server.MapPath(FileName) + ";Extended Properties='Excel 8.0;HDR=Yes;IMEX=1;'";
string connstr2007 = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" + Server.MapPath(FileName) + ";Extended Properties=\"Excel 12.0;HDR=YES\"";
OleDbConnection conn;
if (fileExtenSion.ToLower() == ".xls")
{
conn = new OleDbConnection(connstr2003);
}
else
{
conn = new OleDbConnection(connstr2007);
}
conn.Open();
string sql1 = "select * from [tb_Customers$]";
OleDbCommand cmd1 = new OleDbCommand(sql1, conn);
DataTable ctmdt = new DataTable();//创建一个DataTable表,用于存储从excel表中读取的数据
OleDbDataReader ord1 = cmd1.ExecuteReader();
ctmdt.Load(ord1);
ord1.Close();
conn.Close();
//插入数据到SQL
......