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>
当点击添加按钮时激发事件,代码如下
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();
    }

时间: 2024-08-06 01:10:04

c#关于EXCEL导入数据库的做法的相关文章

Java实现Excel导入数据库,数据库中的数据导入到Excel

实现的功能: Java实现Excel导入数据库,如果存在就更新 数据库中的数据导入到Excel 1.添加jxl.jar mysql-connector-java.1.7-bin.jar包到项目的lib目录下­ 2.Excel文件目录:D://book.xls 3.数据库名:javenforexcel 4.表名:stu 5.编写类:连接mysql的字符串方法.插入的方法.实体类­­ 表结构如下 : 连接数据库的工具类 package com.javen.db; import java.sql.Co

.NET网站本机调试通过、发布后EXCEL导入数据库报错问题的解决

近期做了一个EXCEL导入数据库的页面,在VS2012本机调试中导入XLS\XLSX均顺利通过,但在WEB环境下导入时均出错! 在网上查了相关资料,最有可能的原因是 DCOM 中EXCEL应用程序权限配置的问题. (DCOM基于组件对象模型(COM),COM提供了一套允许同一台计算机上的客户端和服务器之间进行通信的接口) 配置步骤(本机win8.1 64Bit Office2010 64Bit): 1. 运行-dcomcnfg-组件服务-计算机-我的电脑-DCOM配置-找到 Micosoft E

Java实现Excel导入数据库,数据库中的数据导入到Excel。。转载

自学资料总结 实现的功能: Java实现Excel导入数据库,如果存在就更新 数据库中的数据导入到Excel 1.添加jxl.jar mysql-connector-java.1.7-bin.jar包到项目的lib目录下­ 2.Excel文件目录:D://book.xls 3.数据库名:javenforexcel 4.表名:stu 5.编写类:连接mysql的字符串方法.插入的方法.实体类­­ 表结构如下 : 连接数据库的工具类 package com.javen.db; import java

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

本内容主要包括(文件上传.excel2003数据导入数据库)excel导入数据库功能需要jxl  jar包支持 下面是文件上传的前端测试代码 <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <%@ taglib prefix="c" uri="http://java.sun.

ASP.NET实现excel导入数据库

ASP.NET实现excel导入数据库原创Mr_周先生 最后发布于2018-03-27 18:56:02 展开1:说明:此方法建立在已经实现数据库的插入功能上 2:注解:2.1:新建一个文件夹存放excel文件(见example.aspx.cs的GetExcel()方法) 2.2:控件 2.3:excel表格式(excel表头与数据库表字段对应) 2.4:修改数据库插入方法(见example.aspx.cs的InsetData()方法) 3:步骤:1:前台控件: 1.1:FileUpload:

POI实现Excel导入数据库数据

POI实现Excel导入数据库数据 首先看一下我们导入的数据Excel中的数据格式是什么 ?上面是我们的一个数据导入时的模板信息,我们需要按照这样过的格式导入数据库数据. 针对这样的数据格式可以通过ReadExcelUtils的工具类去读取到 ReadExcelUtils readExcelUtils = new ReadExcelUtils(file.getInputStream(),fileName); 通过上述代码我们可以获取到ReadExcelUtils对象,再调用其readExcelL

asp.net 中excel 导入数据库

protected void Button1_Click(object sender, EventArgs e) { SqlConnection conn = new SqlConnection(System.Configuration.ConfigurationManager.ConnectionStrings["LYConnectionString"].ConnectionString); ;//链接数据库 conn.Open(); try { string fileurl = t

Excel导入数据库脚本

--数据库中不存在需要导入的表 SELECT * INTO tab_PurchasePriceTemp FROM OPENROWSET( 'Microsoft.Jet.OLEDB.4.0', 'EXCEL 5.0;HDR=YES;IMEX=1; DATABASE=D:\A.xls',Sheet2$) --出现  SQL Server 阻止了对组件 'Ad Hoc Distributed Queries' 的 STATEMENT'OpenRowset错误   解决方案 --启用Ad Hoc Dis

PHP将Excel导入数据库以及数据库数据导出至Excel

一.导入 导入需要使用能读取Excel的组件,网上也有比较好的组件,这里分享我使用的:下载  提取码:vxyn.(注意两个文件有引用关系) <?php //传入要导入的Excel的文件名 function import_to_DB($filename) { require_once'reader.php'; $data = new Spreadsheet_Excel_Reader(); //创建读取Excel的对象 $data->setOutputEncoding('utf-8'); //设置