Excel导入SQL数据库完整代码
2009年4月29日9:41:20

Excel导入SQL数据库完整代码
protected void studentload_Click(object sender, EventArgs e)
     {//批量添加学生信息
         SqlConnection conn = DB.dataBaseConn();//链接数据库
         conn.Open();
          try
          {
             string fileurl = typename(studentFileUpload);//调用typename方法取得excel文件路径
             DataSet ds = new DataSet();//取得数据集
             ds = xsldata(fileurl);
             int errorcount = 0;//记录错误信息条数
             int insertcount = 0;//记录插入成功条数
             int updatecount = 0;//记录更新信息条数
              for (int i = 0; i < ds.Tables[0].Rows.Count; i++)
             {
                 string stuid = ds.Tables[0].Rows[i][0].ToString();
                 string stuname = ds.Tables[0].Rows[i][1].ToString();
                 string stusex = ds.Tables[0].Rows[i][2].ToString();
                 string zhuanye = ds.Tables[0].Rows[i][3].ToString();
                 string classname = ds.Tables[0].Rows[i][4].ToString();
                 if (stuid != "" && stuname != "" && stusex != "" && zhuanye != "" && classname != "")
                 {
                                   SqlCommand selectcmd = new SqlCommand("select count(*) from zy_class   where zhuanye='" + zhuanye + "'and classname='" + classname + "'", conn);
                     int count = Convert.ToInt32(selectcmd.ExecuteScalar());
                     if (count > 0)
                     {
                         SqlCommand selectcmd2 = new SqlCommand("select count(*) from stud where   stuid='" + stuid + "'", conn);
                         int count2 = Convert.ToInt32(selectcmd2.ExecuteScalar());
                         if (count2 > 0)
                         {
                             SqlCommand updatecmd = new SqlCommand("update stud set   stuname='" + stuname + "',stusex='" + stusex + "',zhuanye='" + zhuanyei + "',classname='" + classname + "'   where stuid='" + stuid + "'", conn);
                             updatecmd.ExecuteNonQuery();
                             updatecount++;
                         }
                         else
                         {
                             SqlCommand insertcmd= new SqlCommand("insert into stud    values('" + stuid + "','" + stuname + "','" + stusex + "','" + zhuanye + "','" + classname+ "')", conn);
                             insertcmd.ExecuteNonQuery();
                             insertcount++;
                         }
                     }
                     else
                     {
                         Response.Write("<script language='javascript'>alert('专业或班级信息有错!导入失败!请检查!');</script>");
                         break;

}
                 }
                 else
                 {
                     errorcount++;
                 }
             }
             Response.Write("<script language='javascript'>alert('" + insertcount + "条数据导入成功!" + updatecount + "条数据更新成功!" + errorcount + "条数据部分信息为空没有导入!');</script>");
         }
         catch (Exception e)
         {
             Response.Write("<script language='javascript'>alert('导入失败!');</script>");
         }
         finally
         {
             conn.Close();
         }    
     }

//把EXCEL文件上传到服务器并返回文件路径

private String typename(FileUpload fileloads)
     {
         string fullfilename = fileloads.PostedFile.FileName;
         string filename = fullfilename.Substring(fullfilename.LastIndexOf("\\") + 1);
         string type = fullfilename.Substring(fullfilename.LastIndexOf(".") + 1);
         string murl = "";
         if (type == "xls")
         {
             fileloads.PostedFile.SaveAs(Server.MapPath("excel") + "\\" + filename);
             murl = (Server.MapPath("excel") + "\\" + filename).ToString();
         }
         else
         {
             Response.Write("<script language='javascript'>alert('导入文件格式不对!');</script>");

}
         return murl;
     }

//

把excel数据读入dataset返回l数据集

private DataSet xsldata(string filepath)
     {
         string strCon = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + filepath + ";Extended Properties='Excel 8.0;IMEX=1'";
         System.Data.OleDb.OleDbConnection Conn = new System.Data.OleDb.OleDbConnection(strCon);
         string strCom = "SELECT * FROM [Sheet1$]";
         Conn.Open();
         System.Data.OleDb.OleDbDataAdapter myCommand = new System.Data.OleDb.OleDbDataAdapter(strCom, Conn);
         DataSet ds = new DataSet();
         myCommand.Fill(ds, "[Sheet1$]");
         Conn.Close();
         return ds;
     }

转载于:https://www.cnblogs.com/gaojun/archive/2009/04/28/1445609.html

Excel导入到sql数据库中完整代码相关推荐

  1. 将 .csv文件中的数据导入My SQL数据库中

    利用My SQL 将.csv文件中的数据导入数据库.首先以管理员身份运行cmd,输入指令net start mysql 运行mysql服务,然后输入指令mysql -u root -p ,输入密码.* ...

  2. mcgs odbc mysql_MCGS中ACCESS数据库的数据提取到SQL数据库中的方法.pdf

    昆仑通泰 MCGS Access数据库与 MSSQL数据库连接 1 在XP 系统上安装 SQLserver2000 1.1找一张 SQLserver 服务器版光盘,在光盘上找到目录"MSDE ...

  3. 将Excel文件导入到MySQL数据库中并实现列转行操作

    在处理数据的时候,因为数据源在Excel文件中,本人Excel文件的处理方法不是太会,加上朋友说在Excel中处理这样的数据很麻烦,我就想着干脆导入到数据库中通过代码解决这个问题,感兴趣的可以找我拿数 ...

  4. java excel 导入 关闭,excel关联别的表格数据库-java实现excel表导入,有的字段数据库中没有,需要关......

    excel中我想用另一张表的内容我数据库,当我在一个... 用VLOOKUP函数,=VLOOKUP(lookup_value,table_array,col_index_num,range_looku ...

  5. vb 读取oracle中的表格数据,如何将数据库信息读取导出excel表格中-VB 从SQL数据库中把数据导出到Excel表格中,怎么写?...

    VB 从SQL数据库中把数据导出到Excel表格中,怎么写? INSERT INTO OpenDataSource('Microsoft.Jet.OLEDB.4.0', 'Data Source=&q ...

  6. java操作mysql导表_Java实现批量导入excel表格数据到数据库中的方法

    本文实例讲述了Java实现批量导入excel表格数据到数据库中的方法.分享给大家供大家参考,具体如下: 1.创建导入抽象类 package com.gcloud.common.excel; impor ...

  7. Sql Server数据库数据导入到SQLite数据库中

    背景:Sql Serve数据库中有个表格A,想把数据导入到SQLite数据库中 工具下载地址:点击打开链接 用法: 原作者地址及下载地址:点击打开链接

  8. ssis导出数据性能_如何使用SSIS将数据从Excel导出到Azure SQL数据库中的多个表

    ssis导出数据性能 In this article, I am going to explain how we can split the data within the excel file an ...

  9. 使用PhpSpreadsheet将Excel导入到MySQL数据库

    使用PhpSpreadsheet将Excel导入到MySQL数据库 日常开发中,我们经常遇到这样的场景,需要将一个Excel表格数据如客户信息.学生成绩表导入到系统数据库中,然后在系统中进行进一步操作 ...

最新文章

  1. 越南一难倒博士的趣味数学题
  2. 大数据时代的隐身模式下的大数据创业公司
  3. AWS论剑Azure:安全组之争
  4. 经典网页设计:12个简约风格的网站作品
  5. SqlDateTime 溢出。必须介于 1/1/1753 12:00:00 AM 和 12/31/9999 11:59:59 PM 之间
  6. vue的computed计算属性学习
  7. sql字符串拼接_Mybatis的SqlSession执行sql过程
  8. linux还原系统_怎么成为一名合格的Linux运维工程师
  9. 内部服务器如何提供访问服务
  10. mysql中的extra是什么意思_1130mysql explain中的type列含义和extra列的含义
  11. Pytorch——可视化不同的优化器效果
  12. Go语言的指针的一些测试
  13. redis源码解析之事件驱动
  14. hexo matery 相册 视频相册 相册加密 描述备注
  15. 按键精灵html库,【源码分享】雷电模拟器 - 按键精灵PC - 命令库
  16. 蓝牙Sig Mesh 概念入门③——分层结构Layered architecture
  17. php密码如何用星号表示,输入密码显示星号的写法实例
  18. 190320运算符数据类型
  19. java路上偶遇占小狼
  20. YOLOv5 Head解耦

热门文章

  1. wx:for双层循环
  2. matlab矩阵代数计算,MATLAB学习笔记(五):符号计算(符号矩阵+代数方程组求解)...
  3. 复习vue笔记第一天
  4. Jdk8之Lambda表达式
  5. 计算机专业的口号运动会四字,计算机系运动会口号
  6. python 提取最小外接矩形_python给人脸带上口罩(简单版)
  7. linux虚拟网卡上网,Linux添加虚拟网卡的多种方法
  8. linux 如何查看fb中分辨率_Ubuntu: Linux下查看本机显示器分辨率(xrandr)
  9. 服务器双网卡设置安全_服务器的基础知识
  10. viso怎么控制连接线_什么是节气门?多久清洗一次?怎么清洗?