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>");
}
}
}
需要注意的是,在检索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>");
}
}
}
相关文章推荐
- 自动更新开奖数据的excel文件,供大家下载
- [原]用c#做了一个桌面程序用来分离excel文件里的数据时出现“操作必须使用一个可更新的查询”错误的解决
- 通过本地Excel文件更新远程SQL SERVER表中数据
- 使用JDBC读取本地的Excel文件并批量更新数据
- 关于利用opendatasource 读取excel文件中的数据问题以及更新数据库中对应数据的问题
- 在DELPHI中使用ADO直接访问Excel数据文件
- Java将数据导出到Excel文件中
- Python数据获取-文件、word、Excel、数据库
- Asp.net 2.0 GridView数据导出Excel文件(示例代码下载)
- 利用POI读取Excel数据,实现同时读取多个Excel文件,兼容所有浏览器
- Julia :HDF5数据文件读写与更新
- 将SQL SERVER中查询到的数据导成一个Excel文件
- vb.net 读取EXCEL文件中的数据
- PLSQL导入Excel文件预览不到数据行问题
- 将Excel或者Txt文件中的数据导入Oracle数据库
- Sql存储查询数据导出Excel文件(注意:有几百万条数据)
- C#读取Excel文件数据
- 把Excel文件中的数据读入到DataGrid中
- 使用VBA从海量Excel文件中模糊获取数据并生成新表(附实例) - (一)VBA简介
- 将DataGrid中数据倒出Excel文件并下载