<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    隨筆-199  評論-203  文章-11  trackbacks-0

        今天做這個東西花了我好長時間才搞定,貼的網上和大家共享一下,如果大家有更好的方法,請跟帖告知!
    在此非常感謝!


    /***************************************************/
    /**Table:型體單價                                                                  */
    /***************************************************/
    IF EXISTS(SELECT NAME FROM SYSOBJECTS WHERE NAME='型體單價')
    -- DROP TABLE 型體單價 
    GO

    CREATE TABLE 型體單價
    (
     型體ID Int IDENTITY(1,1) PRIMARY KEY ,
     型體編號 Varchar(20),
     斬刀編號 Varchar(10),
     部門名稱 Varchar(10),
     總單價 Decimal(5,3),
     起止日期 smalldatetime,
     終止日期 smalldatetime,
     修改者 Varchar(10),
     修改日期 DateTime
    )
    GO

    /***************************************************/
    /**Table:型體單價明細       */
    /***************************************************/
    IF EXISTS(SELECT NAME FROM SYSOBJECTS WHERE NAME='型體單價明細')
    -- DROP TABLE 型體單價明細
    GO

    CREATE TABLE 型體單價明細
    (
     型體ID Int,
     序號  Int,
     工序名稱 Varchar(30),
     操作機器 Varchar(12),
     工種  Varchar(10),
     操作時間 Decimal(5,1),
     標準時間 Decimal(5,1),
     單價  Decimal(5,3),
     標準日產能 Int,
     需求人數 int,
     備注  Varchar(30),
     修改者 Varchar(10),
     修改日期 DateTime
    )
    GO


    --通過存儲過程將Excel資料導入到數據庫
    IF EXISTS (SELECT name FROM sysobjects
             WHERE name = 'proc_excelInSql' AND type = 'P')
       DROP PROCEDURE proc_excelInSql
    GO

    --接收兩個參數
    CREATE PROCEDURE proc_excelInSql
    @address Varchar(100), --1、文件地址
    @name Varchar(30)  --2、文件名
    AS
    DECLARE @STR VARCHAR(8000)
    --將整理好的數據插入到指定數據庫中。
     SET @STR='INSERT INTO spg_system.dbo.型體單價明細(型體ID,序號,工序名稱,操作機器,工種,操作時間,'
     SET @STR=@STR+'標準時間,單價,標準日產能,需求人數,備注,修改者,修改日期)'
    --將型體字段為空的替換為檔期型體的型體ID編號,修改者默認為"Excel 導入",修改日期默認為檔期日期。
     SET @STR=@STR+'SELECT ISNULL((SELECT 型體ID FROM SPG_SYSTEM.dbo型體單價 where 型體編號='''+@name+'''),'
     SET @STR=@STR+'0) as 型體ID, 序號,工序名稱,ISNULL(操作機器,'''') 操作機器,ISNULL(工種,'''') 工種,'
     SET @STR=@STR+'ISNULL(操作時間,0) 操作時間,ISNULL(標準時間,0.0) 標準時間,單價,ISNULL(標準日產能,0)'
     SET @STR=@STR+' 標準日產能,ISNULL(需求人數,0) 需求人數,備注,ISNULL(修改者,''Excel 導入'') 修改者,'
     SET @STR=@STR+'ISNULL(修改日期,getDATE()) 修改日期 FROM ('
    --增加三個字段型體ID、修改者和修改日期
     SET @STR=@STR+'SELECT null 型體ID, 序號,工序名稱,操作機器,工種,操作時間,標準時間,單價,標準日產能,需求人數,備注,null 修改者,null 修改日期 FROM('
    --從Excel讀出數據,并修改文件名和過濾沒有用的資料行
     SET @STR=@STR+'SELECT  CAST(F1 AS INT) 序號, F2 工序名稱,F3 操作機器,F4 工種,F5 操作時間,CAST(F6 AS DECIMAL(4,1)) 標準時間,
        cast(F7 as decimal(5,3))  單價,CAST(ROUND(F8,0) AS INT)  標準日產能,CAST(F9 as DECIMAL(4,2)) 需求人數,
        ISNULL( F10,'''') as 備注 FROM '
     SET @STR=@STR+'OPENROWSET(''Microsoft.Jet.OLEDB.4.0'',''Excel 5.0;Database='+@address+''', ''SELECT * FROM ['+@name+'$]'')'
     SET @STR=@STR+')aa  where 序號 != 0'
     SET @STR=@STR+')BB ORDER BY 序號'
    EXEC (@STR)
    GO

    --調用存儲過程的時候,注意D盤要有相應的文件,
    exec proc_excelinsql 'D:\184240.xls','184240'
    下載184240.xls'文件

    如有不明之處請Email:kunpeng.niu@163.com


    posted on 2009-03-10 17:11 Werther 閱讀(1262) 評論(3)  編輯  收藏 所屬分類: 15.SQL Server

    評論:
    # re: 將Excel的數據插入到數據庫中示例 2009-03-10 18:43 | Jie
    執行完后報錯:
    服務器: 消息 208,級別 16,狀態 1,行 1
    對象名 'spg_system.dbo.型體單價明細' 無效。
    服務器: 消息 208,級別 16,狀態 1,行 1
    對象名 'SPG_SYSTEM.dbo型體單價' 無效。  回復  更多評論
      
    # re: 將Excel的數據插入到數據庫中示例 2009-03-10 19:21 | Werther
    @Jie
    解決方案一:
    我上面忘記說明,你需要首先在你的SQL Server上面創建一個名為:spg_system的數據庫,把用來測試的表創建在spg_system這個數據庫裡面。
    解決方案二:
    你把表創建在那個數據庫裡面,就把spy_system改成那一個數據庫名。  回復  更多評論
      
    # re: 將Excel的數據插入到數據庫中示例 2009-03-10 21:27 | Jie
    是了,確實可以,很好很強大  回復  更多評論
      
    主站蜘蛛池模板: 久久免费99精品国产自在现线| mm1313亚洲国产精品美女| 免费人成视频在线观看免费| 婷婷久久久亚洲欧洲日产国码AV| 免费h成人黄漫画嘿咻破解版| 免费能直接在线观看黄的视频| 成人网站免费大全日韩国产| 亚洲AV无码一区二区三区性色| 亚洲13又紧又嫩又水多| 亚洲色图黄色小说| 亚洲国产成人高清在线观看 | 香蕉视频在线观看亚洲| 亚洲美女在线国产| 日本中文一区二区三区亚洲| 色www永久免费视频| 黄页网站免费观看| 国产成人免费高清激情明星| 永久免费A∨片在线观看| 国产免费区在线观看十分钟| 亚洲av午夜国产精品无码中文字 | 2021国内精品久久久久精免费| 久99久无码精品视频免费播放| 亚洲成av人在线观看网站| 亚洲一区二区三区无码国产| 亚洲导航深夜福利| 亚洲资源在线视频| 久久久久亚洲AV无码麻豆| 亚洲高清专区日韩精品| 亚洲乱色熟女一区二区三区丝袜| 久久精品国产精品亚洲人人| 亚洲视频在线免费| 亚洲伊人成无码综合网| 亚洲一区二区高清| 色噜噜AV亚洲色一区二区| 亚洲人精品午夜射精日韩 | 国产无遮挡又黄又爽免费网站| 一级特黄色毛片免费看| 男女一边摸一边做爽的免费视频| www免费黄色网| 国产一级淫片a免费播放口| 久久中文字幕免费视频|