• 用代码将Excel数据导入Sql Server


    这里直接用小例子说明。

    1、打开VS2010—>文件—>新建—>网站,选择ASP.NET空网站并设置存放路径以创建空网站。(我这里路径设置为D:excelEduceToSql)

    2、创建数据库test并在test数据库中创建my_test表(我这里在excelEduceToSql文件夹中创建SQL文件夹并将数据库保存在里面)。

     (表的字段如下:)

       tid(int)

       tname(nvarchar(50))

       tt(nvarchar(50))

    3、创建Excel表(我这里的Excel表的文件名为test.xls)。要注意的是:Excel中第一行是定义的是列名,从第2行开始才是数据,通过Sql语句从Excel中读取到的数据也是   从第二行开始的。

     (Excel表设计如下:)

      编号  姓名  备注

      1  a  aa

      2  b  bb

      3  c  cc

    4、在第1步的基础上右键—>添加新项,选择Web窗体并命名(我这里按默认的名称Default.aspx)。在设计页面中双击或拉取左边工具箱中的button控件并修改右边属性   中的Text属性为“导入”,双击导入按钮进入Default.aspx.cs文件的代码编写。

    5、代码编写如下:

      using System;
      using System.Collections.Generic;
      using System.Linq;
      using System.Web;
      using System.Web.UI;
      using System.Web.UI.WebControls;
      using System.Data.SqlClient;

      public partial class test : System.Web.UI.Page
      {
        protected void Page_Load(object sender, EventArgs e)
        {

        }
        public SqlConnection con()
        {
          return new SqlConnection("server=.;uid=sa; pwd=sa;database=test");这里需要注意的是server、uid、pwd、database分别为你的数据库。
        }
        protected void Button1_Click(object sender, EventArgs e)
        {
          SqlConnection mycon = con();
          string sqlstr="insert into my_test select * from OPENROWSET('MICROSOFT.JET.OLEDB.4.0','Excel 8.0;HDR=YES;DATABASE=D:\excelEduceToSql\Excel\test.xls',sheet1$)";这里需要注意的是Excel文件的路径需要用双斜杠来分隔,否则会出错。
          SqlCommand cmd = new SqlCommand(sqlstr, mycon);
          mycon.Open();
          cmd.ExecuteNonQuery();
          mycon.Close();
        }
      }

    6、在Sql Server中点击新建查询,输入如下代码并点击执行:

      exec sp_configure 'show advanced options',1
      reconfigure
      exec sp_configure 'Ad Hoc Distributed Queries',1
      reconfigure
      go

      当然这里也可以写在项目程序中执行即可

    7、Ctrl+F5运行即可。这里需要注意的是运行是不可打开Excel文件,否则会报错。

      若有错误请指出或直接联系本人QQ:953276191

       

  • 相关阅读:
    安装项目管理工具 SVN+Redmine
    jquery validate
    NHibernate集合映射中的set, list, map, bag, array
    NHibernate执行原始SQL代码的方法小结 .
    一个简单的存储过程
    修改Project中的表名及字段名
    用代码修改类名
    实现Pick和Reigister
    转移单的装运和收货
    库存维度检查
  • 原文地址:https://www.cnblogs.com/xinxinboke/p/3952207.html
Copyright © 2020-2023  润新知