1. protected void Button1_Click(object sender, EventArgs e)
  2. {
  3. SqlConnection conn = new SqlConnection(System.Configuration.ConfigurationManager.ConnectionStrings["LYConnectionString"].ConnectionString); ;//链接数据库
  4. conn.Open();
  5. try
  6. {
  7. string fileurl = typename(FileUpload1);//调用typename方法取得excel文件路径
  8. DataSet ds = new DataSet();//取得数据集
  9. ds = xsldata(fileurl);
  10. int errorcount = ;//记录错误信息条数
  11. int insertcount = ;//记录插入成功条数
  12. int updatecount = ;//记录更新信息条数
  13. for (int i = ; i < ds.Tables[].Rows.Count; i++)
  14. {
  15. string stuid = ds.Tables[].Rows[i][].ToString();
  16. string stuname = ds.Tables[].Rows[i][].ToString();
  17. string stusex = ds.Tables[].Rows[i][].ToString();
  18. string zhuanye = ds.Tables[].Rows[i][].ToString();
  19. string classname = ds.Tables[].Rows[i][].ToString();
  20. Response.Write(stuid);
  21. Response.Write(stuname);
  22. Response.Write(stusex);
  23. Response.Write(zhuanye);
  24. Response.Write(classname);
  25.  
  26. if (stuid != "" && stuname != "" && stusex != "" && zhuanye != "" && classname != "")
  27. {
  28. SqlCommand selectcmd = new SqlCommand("select count(*) from stud ", conn);
  29. int count = Convert.ToInt32(selectcmd.ExecuteScalar());
  30. if (count > )
  31. {
  32. SqlCommand selectcmd2 = new SqlCommand("select count(*) from stud where stuid='" + stuid + "'", conn);
  33. int count2 = Convert.ToInt32(selectcmd2.ExecuteScalar());
  34. if (count2 > )
  35. {
  36. SqlCommand updatecmd = new SqlCommand("update stud set stuname='" + stuname + "',stusex='" + stusex + "',zhuanye='" + zhuanye + "',classname='" + classname + "' where stuid='" + stuid + "'", conn);
  37. updatecmd.ExecuteNonQuery();
  38. updatecount++;
  39. }
  40. else
  41. {
  42. SqlCommand insertcmd = new SqlCommand("insert into stud values('" + stuid + "','" + stuname + "','" + stusex + "','" + zhuanye + "','" + classname + "')", conn);
  43. insertcmd.ExecuteNonQuery();
  44. insertcount++;
  45. }
  46. }
  47. else
  48. {
  49. SqlCommand insertcmd = new SqlCommand("insert into stud values('" + stuid + "','" + stuname + "','" + stusex + "','" + zhuanye + "','" + classname + "')", conn);
  50. insertcmd.ExecuteNonQuery();
  51.  
  52. //break;
  53.  
  54. }
  55. }
  56. else
  57. {
  58. errorcount++;
  59. }
  60. }
  61. Response.Write("<script language='javascript'>alert('" + insertcount + "条数据导入成功!" + updatecount + "条数据更新成功!" + errorcount + "条数据部分信息为空没有导入!');</script>");
  62. }
  63. //catch (Exception exp)
  64. //{
  65. // Response.Write("<script language='javascript'>alert('导入失败!');</script>");
  66. //}
  67. finally
  68. {
  69. conn.Close();
  70. }
  71. }
  72. //判断上传文件,并保存文件
  73. private String typename(FileUpload fileloads)
  74. {
  75. string fullfilename = fileloads.PostedFile.FileName;
  76. string filename = fullfilename.Substring(fullfilename.LastIndexOf("\\\\") + );
  77. string type = fullfilename.Substring(fullfilename.LastIndexOf(".") + );
  78. string murl = "";
  79. if (type == "xls")
  80. {
  81. fileloads.PostedFile.SaveAs(Server.MapPath("excel") + "\\\\" + filename);
  82. murl = (Server.MapPath("excel") + "\\\\" + filename).ToString();
  83. }
  84. else
  85. {
  86. Response.Write("<script language='javascript'>alert('导入文件格式不对!');</script>");
  87.  
  88. }
  89. return murl;
  90. }
  91. // 数据库导入数据集dataset
  92. private DataSet xsldata(string filepath)
  93. {
  94. string strCon = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + filepath + ";Extended Properties='Excel 8.0;IMEX=1'";
    //如果是导入excel2013版本,连接字符串则应该变成

string strCon = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" + filepath + ";Extended Properties='Excel 12.0;IMEX=1'";

  1. System.Data.OleDb.OleDbConnection Conn = new System.Data.OleDb.OleDbConnection(strCon);
  2. string strCom = "SELECT * FROM [Sheet1$]";
  3. Conn.Open();
  4. System.Data.OleDb.OleDbDataAdapter myCommand = new System.Data.OleDb.OleDbDataAdapter(strCom, Conn);
  5. DataSet ds = new DataSet();
  6. myCommand.Fill(ds, "[Sheet1$]");
  7. Conn.Close();
  8. return ds;
  9. }
  10. }

asp.net 中excel 导入数据库的更多相关文章

  1. ASP.NET 将Excel导入数据库

    将Excel导入数据库大致流程:  Excel数据->DataSet->数据库 需要做的准备:1.FileUpload控件一个,按钮一个,如果需要即时显示那么GridView或DataGr ...

  2. excel 导入数据库 / SSIS 中 excel data source --64位excel 版本不支持-- solution

    当本地安装的excel(2013版) 是64-bit时:出现的以下两种错误 解决: 1. excel 导入数据库 , 如果文件是2007则会出现:“The 'Microsoft.ACE.OLEDB.1 ...

  3. 将Excel中数据导入数据库(三)

    上篇文章将Excel中数据导入数据库时,将从Excel读入的数据均转换成了数据库相应字段的类型,其实这是没有必要的,因为对于数据库各种类型的插入,均可以字符串格式插入.比如表WQ_SWMSAR_A字段 ...

  4. 将Excel中数据导入数据库(二)

    在上篇文章中介绍到将Excel中数据导入到数据库中,但上篇文章例子只出现了nvachar类型,且数据量很小.今天碰到将Excel中数据导入数据库中的Excel有6419行,其中每行均有48个字段,有i ...

  5. 将Excel中数据导入数据库(一)

    在工作中经常要将Excel中数据导入数据库,这里介绍一种方法. 假如Excel中的数据如下: 数据库建表如下: 其中Id为自增字段: Excel中数据导入数据库帮助类如下: using System; ...

  6. Java实现将Excel导入数据库和从数据库中导出为Excel

    实现的功能: 用Java实现从Excel导入数据库,如果存在就更新 将数据库中的数据导出为Excel 1.添加jxl.jar mysql-connector-java.1.7-bin.jar包到项目的 ...

  7. C# ASP.NET CSV文件导入数据库

    原文:C# ASP.NET CSV文件导入数据库 using System; using System.Collections.Generic; using System.Text; using Sy ...

  8. 2014-08-01 ASP.NET中对SQLite数据库的操作——ADO.NET

    今天是在吾索实习的第18天.我主要学习了如何在ASP.NET中对SQLite数据库的操作,其基本操作如下: 添加引用System.Data.SQLite.dll(PS:在网页里面任意找到适合的.NET ...

  9. 记录-java(jxl) Excel导入数据库

    本内容主要包括(文件上传.excel2003数据导入数据库)excel导入数据库功能需要jxl  jar包支持 下面是文件上传的前端测试代码 <%@ page language="ja ...

随机推荐

  1. Java 8 开发顶级技巧

    本文由码农网 – 小峰原创翻译,转载请看清文末的转载要求,欢迎参与我们的付费投稿计划! 我使用Java 8编码已经有些年头,既用于新的应用程序,也用来迁移现有的应用,感觉是时候写一些我发现的非常有用的 ...

  2. drag and drop

    <!DOCTYPE HTML> <html> <head> <script type="text/javascript"> func ...

  3. 教程-DelphiXE7如何调用Java Class,JAR等文件?

    源文地址:http://jingyan.baidu.com/article/e4d08ffdb61b040fd3f60d44.html 第一步,我们先在互联网上把java2pas这个工具下载下来. 下 ...

  4. CP2102模块介绍(USB转uart)

    1.主芯片为CP2102,安装驱动后生成虚拟串口2.USB取电,引出接口包括3.3V(<40mA),5V,GND,TX,RX,信号脚电平为3.3V,正逻辑3.板载状态指示灯.收发指示灯,正确安装 ...

  5. FreeModbus Slave RTU 精简版源代码【worldsing 笔记】

    RTU精简版本 测试环境:IAR for avr 5.40 + M128 目前只优化了ModBusPort.c和ModBusRTU.c ModBusPort.c     566 bytes of CO ...

  6. 关于STM32下载问题的简单理解

    首先STM32分为两种下载方式1.ISP(IN-SYSTEM-PROGRAMMING在线编程)  2.JTAG 这里简单谈谈对ISP下载的理解: ISP下载是51单片机,STM等单片机比较常见的一种下 ...

  7. Redis的Time Event与File Event的微妙关系

    redis里设计了两类事件,一类是file event,一类是time event. 其中file event主要为网络事件而设计,而time event为一些后台事件设计. 在两类事件的管理设计上, ...

  8. slave_net_timeout

    http://blog.csdn.net/lwei_998/article/details/46864453

  9. PAT 1015

    1015. Reversible Primes (20) A reversible prime in any number system is a prime whose "reverse& ...

  10. android中3种实现动画效果的方法

    3中实现动画的方法:ImageView imgView = (ImageView)findViewById(R.id.imageView_logo); //第一种动画方法,使用AlphaAnimati ...