您的位置:首页 > 数据库

excel文件更新数据库

2009-08-25 17:32 429 查看
excel文件更新数据库

需要注意的是,在检索excel数据的时候,excel文件的第一行是不被检索的,所以excel的第一行要不空着,要不就写数据的标题 ,如:
id 工号
124 小王
125 小李

上传的文件夹要有写入权限,即本例的 upload的属性里 ,有写入的权限

private void ImageButton1_Click(object sender, System.Web.UI.ImageClickEventArgs e)
{
//将要更新的EXCEL文件上传到服务器上
string filenm="";
if(this.uploadfile.PostedFile.ContentLength!=0)
{
string fnm=this.uploadfile.Value;
//string ftype=fnm.Substring(fnm.Length-4,4);
string tmp=strsp(fnm);
int t=tmp.IndexOf("//",1);
string tmp2=tmp.Substring(0,t);
filenm=DateTime.Now.ToString("yyyyMMddhhmmss")+"_"+Session["empID"].ToString()+"_"+strsp(tmp2);
string filepath="..//Upload//"+filenm;
ViewState["filepath"]=filepath;
this.uploadfile.PostedFile.SaveAs(Server.MapPath(filepath));
//this.lb_info.Text="上传成功!!";
}
else
{
Page.RegisterStartupScript("","<script language='javascript'>alert('更新失败!请检查后重新提交!');</script>");
}

//下面开始更新数据库数据
//string filePath = "C:/Inetpub/wwwroot/client_care/upload/"+filenm;
string path = "../upload/"+filenm;
string filePath = Server.MapPath(path);
//建立连接
string mystring="Provider=Microsoft.Jet.OLEDB.4.0; Data Source= "+filePath+";Extended Properties=Excel 8.0";
OleDbConnection cnnxls = new OleDbConnection(mystring);
//读取数据
OleDbDataAdapter myDa = new OleDbDataAdapter("select * from [Sheet1$]",cnnxls);
DataSet myDs =new DataSet();
//将数据放入dataset
myDa.Fill(myDs);

if(myDs.Tables[0].Rows.Count>0)
{
//测试
//this.lb_info.Text=myDs.Tables[0].Rows[0].ItemArray[0].ToString();

//如果出错 ,显示第二列的内容,即工号
string info="";

for(int i=0;i<myDs.Tables[0].Rows.Count;i++)
{
string id = myDs.Tables[0].Rows[i].ItemArray[0].ToString() ;
string gonghao = myDs.Tables[0].Rows[i].ItemArray[1].ToString();
//调用在另一个文件里的类(others的uppdateExcel),进行数据的update
//当然你可以在这里建立数据库的连接,进行数据update
int num = others.updateExcel(id,gonghao);

//判断是否更新成功,如果不成功,则记录错误工号
//由于此时只执行一条语句,所以成功则返回“1”,不成功则返回“0”
if(num!=1)
{
info=info+gonghao+" ";
}
}
if(info=="")
{
Page.RegisterStartupScript("","<script language='javascript'>alert('"+info+"提交失败,您只能更改本地区的客户经理!');</script>");
}
else
{
Page.RegisterStartupScript("","<script language='javascript'>alert('提交成功!');</script>");
}
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: