国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 數據庫 > SQL Server > 正文

Excel表數據導入Sql Server數據庫中

2023-05-11 12:02:26
字體:
來源:轉載
供稿:網友

本文講解了使用C#在ASP.NET中實現將Excel表中的數據導入到Sql Server數據庫中對應的表中的方法。

這里將E:/test.xlsSheet1表中的數據導入到test數據庫中的my_test表中。

軟件:VS2005,SQL Server2000,test.xls中Sheet1表中有三個字段,編號、名稱、備注。具體內容如下圖。 

Excel表

1、首先,我們要先在test數據庫中新建一個my_test表,該表具有三個字段tid int類型, tname nvarchar類型, tt nvarchar類型(注意:my_test表中的數據類型必須與Excel中相應字段的類型一致)

2、我們用

SELECT * FROM   OPENROWSET( 'Microsoft.Jet.OLEDB.4.0 ', 'Excel   5.0;DatabASE=[Excel表.xsl文件的路徑];HDR=YES;IMEX=1 ', Sheet1$')
 

來讀取Excel表中的數據,讀出來的數據跟從數據庫中的表讀出的數據是一樣,也包括字段名和數據。當然我們也可以用字段名列表來獲取Excel表中的部門數據。 

SELECT 字段1, 字段2,字段3 [...] FROM   OPENROWSET( 'Microsoft.Jet.OLEDB.4.0 ', 'Excel   5.0;DatabASE=[Excel表.xsl文件的路徑];HDR=YES;IMEX=1 ', Sheet1$')

3、Excel中第一行是定義的是列名,從第2行開始才是數據。通過Sql語句從Excel中讀取到的數據也是從第二行開始的,二列名變成了字段名。如果你的第一行有定義列名,那么從Excel中獲取的數據的各個字段的名稱就是Excel中的列名。如:從test.xls sheet表中獲取的數據的字段名分別是編號 姓名 備注。如果你定義的Excel表的第一行沒有定義列名,那么獲取后數據的字段名分別是F1、F2、F3...以此類推。如果你只是要獲取Excel表中部分列的數據,那么你可以就要用到上面的內容。

4、在VS2005中新建一個web窗體(test.aspx),往其中添加一個Button控件,一點擊該按鈕就執行導入。雙擊該按鈕,定義事件處理函數。test.aspx.cs中的代碼如下:

using System;
using System.Data;
using System.Configuration;
using System.Collections;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using System.Data.SqlClient;

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

    }
    public SqlConnection con()
    {
        return new SqlConnection("server=localhost;uid=test;pwd=test;database=test");
        //這里的uid=test中的test必須是System Administrtor, 否則會出錯
    }
    protected void Button1_Click1(object sender, EventArgs e)
    {
        SqlConnection mycon = con();
        string sqlstr = "insert into my_test select 編號, 姓名, 備注 from OPENROWSET('MICROSOFT.JET.OLEDB.4.0','Excel 5.0;HDR=YES;DATABASE=e://test.xls',sheet1$)";
/*這里可以用 * 代替 編號, 姓名, 備注   */
        SqlCommand cmd = new SqlCommand(sqlstr, mycon);
        mycon.Open();
        cmd.ExecuteNonQuery();
        mycon.Close();
    }
}

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 昭通市| 台南市| 沽源县| 彭山县| 东莞市| 浙江省| 德惠市| 房山区| 宁海县| 孝感市| 福贡县| 磴口县| 漯河市| 湛江市| 卢氏县| 延边| 黄平县| 南漳县| 沙河市| 方山县| 商河县| 印江| 玉环县| 湖州市| 万荣县| 东乡| 托克逊县| 阆中市| 嘉鱼县| 怀化市| 潍坊市| 石家庄市| 铅山县| 正蓝旗| 阿坝县| 吉安县| 个旧市| 泸溪县| 潜江市| 抚州市| 启东市|