c#关于EXCEL导入数据库的做法
c#关于EXCEL导入数据库的做法 . 2009-12-26 11:42875人阅读评论(0)收藏举报 excel数据库c#datasetstringbutton 以下例子转载:互联网 先在类中定义一个方法名为ExecleDs的方法,用于将Excel表里的数据填充到DataSet中,代码如下 public DataSet ExecleDs( string filenameurl, string table) 2 { 3 string strConn = "Provider=Microsoft.Jet.OleDb.4.0;" + "data source=" +filenameurl+ ";Extended Properties='Excel 8.0; HDR=YES; IMEX=1'" ; 4 OleDbConnection conn = new OleDbConnection(strConn); 5 6 OleDbDataAdapter odda = new OleDbDataAdapter( "select * from [Sheet1$]" ,conn); 7 DataSet ds = new DataSet(); 8 odda.Fill(ds,table); 9 10 return ds; 11 12 } 然后设计页面,在此作个简单的页面 <table style= "width: 395px; height: 84px" border= "1" > 2 <tr> 3 <td style= "width:380px" align= "center" > 4 批量导入用户信息</td> 5 </tr> 6 <tr> 7 <td style= "width: 100px" > 8 <asp:FileUpload ID= "FileUpload1" runat= "server" Width= "380px" /></td> 9 </tr> 10 <tr> 11 <td style= "width:380px" align= "center" > 12 <asp:Button ID= "Button1" runat= "server" Text= "添加" OnClick= "Button1_Click" /></td> 13 </tr> 14 </table> 15 <asp:Label ID= "Label1" runat= "server" Width= "466px" ></asp:Label> 当点击添加按钮时激发事件,代码如下 protected void Button1_Click( object sender, EventArgs e) { if (FileUpload1.HasFile == false ) { Response.Write( "<script>alert('请您选择Excel文件')</script> " ); return ; //当无文件时,返回 } string IsXls=System.IO.Path.GetExtension(FileUpload1.FileName).ToString().ToLower(); if (IsXls != ".xls" ) { Response.Write( "<script>alert('只可以选择Excel文件')</script>" ); return ; //当选择的不是Excel文件时,返回 } string error = null ; Access.Class1 ac = new Access.Class1(); SqlConnection cn = ac.myConnection(); cn.Open(); string strpath = FileUpload1.PostedFile.FileName.ToString(); //获取Execle文件路径 string filename = FileUpload1.FileName; //获取Execle文件名 DataSet ds = ac.ExecleDs(strpath,filename); DataRow[] dr = ds.Tables[0].Select(); //定义一个DataRow数组 int rowsnum = ds.Tables[0].Rows.Count; if (rowsnum == 0) { Response.Write( "<script>alert('Excel表为空表,无数据!')</script>" ); //当Excel表为空时,对用户进行提示 } else { for ( int i = 0; i < dr.Length; i++) { string YHMC = dr[i][ "YongHuMingCheng" ].ToString(); string YHMM = dr[i][ "YongHuMiMa" ].ToString(); string DQRQ = dr[i][ "DaoQiRiQi" ].ToString(); string ZT = dr[i][ "ZhuangTai" ].ToString(); string TJSJ = dr[i][ "TianJiaShiJian" ].ToString(); string JXDM = dr[i][ "JiaXiaoDaiMa" ].ToString(); string sqlcheck = "select count(*) from DC_YongHuLieBiao where YongHuMingCheng='" + YHMC + "'And JiaXiaoDaiMa='" + JXDM + "'" ; //检查用户是否存在 bool ch = ac.check(sqlcheck); if (ch == true ) { string insertstr = "insert into DC_YongHuLieBiao(YongHuMingCheng,YongHuMiMa,DaoQiRiQi,ZhuangTai,TianJiaShiJian,JiaXiaoDaiMa) values('" + YHMC + "','" + YHMM + "','" + DQRQ + "','" + ZT + "','" + TJSJ + "','" + JXDM + "')" ; SqlCommand cmd = new SqlCommand(insertstr,cn); try { cmd.ExecuteNonQuery(); } catch (MembershipCreateUserException ex) //捕捉异常 { Response.Write( "<script>alert('创建用户:" +ex.Message+ "')</script>" ); } } else { error += "<em style='color:red;font-sixe:25px'>" +YHMC+ "</em>用户已存在,此行记录无法插入!请修改用户再进行插入 <br>" ; //若用户存在,将已存在用户信息打出,并提示此用户无法插入 continue ; } } Response.Write( "<script>alert('Excle表导入成功!')</script>" ); Label1.Text = error; } cn.Close(); } 其中注意的地方是: 'Excel 8.0; HDR=YES; IMEX=1' 这里是一参数,假使你喽了单引号,就会一直出现 找不到可安装的 ISAM,后面的“HDR=yes”需要注意,它的意思是把Excel表第一行作为字段名,第二行开始方是有效数据。HDR=no则反之。 |
http://blog.csdn.net/cy609329119/article/details/5080565
c#关于EXCEL导入数据库的做法
以下例子转载:互联网
先在类中定义一个方法名为ExecleDs的方法,用于将Excel表里的数据填充到DataSet中,代码如下
public DataSet ExecleDs(string filenameurl,string table) 2 { 3 string strConn ="Provider=Microsoft.Jet.OleDb.4.0;"+"data source="+filenameurl+";Extended Properties='Excel 8.0; HDR=YES; IMEX=1'"; 4 OleDbConnection conn =new OleDbConnection(strConn); 5 6 OleDbDataAdapter odda =new OleDbDataAdapter("select * from [Sheet1$]",conn); 7 DataSet ds =new DataSet(); 8 odda.Fill(ds,table); 9 10 return ds; 11 12 } 然后设计页面,在此作个简单的页面 <table style="width: 395px; height: 84px" border="1">2 <tr>3
<td style="width:380px" align="center">4
批量导入用户信息</td>5
</tr>6
<tr>7
<td style="width: 100px">8
<asp:FileUpload ID="FileUpload1" runat="server" Width="380px"/></td>9
</tr>10
<tr>11
<td style="width:380px" align="center">12
<asp:Button ID="Button1" runat="server" Text="添加" OnClick="Button1_Click"/></td>13
</tr>14
</table>15
<asp:Label ID="Label1" runat="server" Width="466px"></asp:Label> 当点击添加按钮时激发事件,代码如下 protectedvoid Button1_Click(object sender, EventArgs e) { if (FileUpload1.HasFile ==false) { Response.Write("<script>alert('请您选择Excel文件')</script> "); return;//当无文件时,返回 } string IsXls=System.IO.Path.GetExtension(FileUpload1.FileName).ToString().ToLower(); if (IsXls !=".xls") { Response.Write("<script>alert('只可以选择Excel文件')</script>"); return;//当选择的不是Excel文件时,返回 } string error =null; Access.Class1 ac =new Access.Class1(); SqlConnection cn = ac.myConnection(); cn.Open(); string strpath = FileUpload1.PostedFile.FileName.ToString(); //获取Execle文件路径 string filename = FileUpload1.FileName; //获取Execle文件名 DataSet ds = ac.ExecleDs(strpath,filename); DataRow[] dr = ds.Tables[0].Select(); //定义一个DataRow数组 int rowsnum = ds.Tables[0].Rows.Count; if (rowsnum ==0) { Response.Write("<script>alert('Excel表为空表,无数据!')</script>"); //当Excel表为空时,对用户进行提示 } else { for (int i =0; i < dr.Length; i++) { string YHMC = dr[i]["YongHuMingCheng"].ToString(); string YHMM = dr[i]["YongHuMiMa"].ToString(); string DQRQ = dr[i]["DaoQiRiQi"].ToString(); string ZT = dr[i]["ZhuangTai"].ToString(); string TJSJ = dr[i]["TianJiaShiJian"].ToString(); string JXDM = dr[i]["JiaXiaoDaiMa"].ToString(); string sqlcheck ="select count(*) from DC_YongHuLieBiao where YongHuMingCheng='"+ YHMC +"'And JiaXiaoDaiMa='"+ JXDM +"'"; //检查用户是否存在 bool ch = ac.check(sqlcheck); if (ch ==true) { string insertstr ="insert into DC_YongHuLieBiao(YongHuMingCheng,YongHuMiMa,DaoQiRiQi,ZhuangTai,TianJiaShiJian,JiaXiaoDaiMa) values('"+ YHMC +"','"+ YHMM +"','"+ DQRQ +"','"+ ZT +"','"+ TJSJ +"','"+ JXDM +"')"; SqlCommand cmd =new SqlCommand(insertstr,cn); try { cmd.ExecuteNonQuery(); } catch (MembershipCreateUserException ex) //捕捉异常 { Response.Write("<script>alert('创建用户:"+ex.Message+"')</script>"); } } else { error +="<em style='color:red;font-sixe:25px'>"+YHMC+"</em>用户已存在,此行记录无法插入!请修改用户再进行插入 <br>"; //若用户存在,将已存在用户信息打出,并提示此用户无法插入 continue; } } Response.Write("<script>alert('Excle表导入成功!')</script>"); Label1.Text = error; } cn.Close(); }
其中注意的地方是:'Excel 8.0; HDR=YES; IMEX=1' 这里是一参数,假使你喽了单引号,就会一直出现 找不到可安装的 ISAM,后面的“HDR=yes”需要注意,它的意思是把Excel表第一行作为字段名,第二行开始方是有效数据。HDR=no则反之。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 三行代码完成国际化适配,妙~啊~
· .NET Core 中如何实现缓存的预热?