zoukankan      html  css  js  c++  java
  • 从EXCEL导入数据到SQL Server数据库的方法

    介绍两种途径将数据从EXCEL中导入到SQL SERVER。

    一、在程序中,用ADO.NET。代码如下:

    //连接串
    string strConn = "Provider=Microsoft.Jet.OLEDB.4.0;Extended Properties=Excel 8.0;Data Source=" + [EXCEL文件,含路径] + ";";
    OleDbConnection conn = new OleDbConnection(strConn);
    conn.Open();
             
    DataTable dtSchema = conn.GetOleDbSchemaTable(OleDbSchemaGuid.Tables,new object[] {null, null, null, "TABLE"});
    DataSet ds = new DataSet();
    //一个EXCEL文件可能有多个工作表,遍历之
    foreach( DataRow dr in dtSchema.Rows )
    {
       string table = dr["TABLE_NAME"].ToString();
       string strExcel = "SELECT * FROM [" + table + "]";
       ds.Tables.Add(table);
     
       OleDbDataAdapter myCommand = new OleDbDataAdapter(strExcel,conn);
       myCommand.Fill(ds,table);
    }
     
    conn.Close();

    这样,读取出来的数据就藏在DataSet里了。

    采用这种方式,数据库所在机器不必装有EXCEL。

    二、在查询分析器里,直接写SQL语句:

    如果是导入数据到现有表,则采用

    INSERT INTO 表 SELECT * FROM OPENROWSET('MICROSOFT.JET.OLEDB.4.0'
    ,'Excel 5.0;HDR=YES;DATABASE=c:/test.xls',sheet1$)

    的形式

    如果是导入数据并新增表,则采用

    SELECT * INTO 表 FROM OPENROWSET('MICROSOFT.JET.OLEDB.4.0'
    ,'Excel 5.0;HDR=YES;DATABASE=c:/test.xls',sheet1$)

    的形式。

    以上语句是将EXCEL文件里SHEET1工作表中所有的列都读进来,如果只想导部分列,可以

    INSERT INTO 表(a1,a2,a3) SELECT a1,a2,a3 FROM OPENROWSET('MICROSOFT.JET.OLEDB.4.0'
    ,'Excel 5.0;HDR=YES;DATABASE=c:/test.xls',sheet1$)

    其实可以将

    OPENROWSET('MICROSOFT.JET.OLEDB.4.0'
    ,'Excel 5.0;HDR=YES;DATABASE=c:/test.xls',sheet1$)

    当成一个表。

    不管是哪种方式,哪种途径,系统都会默认将第一行上的内容作为字段名。

    本文由职坐标整理并发布,以上就是EXCEL导入数据到SQL Server数据库的方法介绍,操作很简单的,大家按照上面步骤进行操作即可,希望能对大家有所帮助!

    转载自:http://sql.zhizuobiao.com/sql-18050900045/

  • 相关阅读:
    Linux内核驱动--硬件访问I/O【原创】
    Linux内核驱动--mmap设备方法【原创】
    Linux系统调用的运行过程【转】
    蓝牙Bluetooth技术手册规范下载【转】
    FarBox--另类有趣的网站服务【转】
    蓝牙HID协议笔记【转】
    linux 串口0x03,0x13的问题【转】
    CC254x/CC2540/CC2541库函数速查(转)
    BLE获取iphone mac地址的方法--【原创】
    用secureCRT操作ubuntu终端
  • 原文地址:https://www.cnblogs.com/guohu/p/14579241.html
Copyright © 2011-2022 走看看