




下載本文檔
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、sqlserver2008 導(dǎo)入導(dǎo)出數(shù)據(jù)大全/*導(dǎo)出到 excelEXECmaster.xp_cmdshellbcpSettleDB.dbo.shanghuoutc:temp1.xls-c-q-SGNETDATA/GNETDATAUsaP/*導(dǎo)入 ExcelSELECT*FROMOpenDataSource(Microsoft.Jet.OLEDB.4.0,DataSource=c:test.xls;UserID=Admin;Password=;Extendedproperties=Excel5.0).xactions/*動(dòng)態(tài)文件名declarefnvarchar(20),svarchar(10
2、00)setfn=c:test.xlssets=Microsoft.Jet.OLEDB.4.0,DataSource=+fn+;UserID=Admin;Password=;Extendedproperties=Excel5.0sets=SELECT*FROMOpenDataSource(+s+).sheet1$exec(s)*/SELECTcast(cast(科目編號(hào) asnumeric(10,2)asnvarchar(255)+轉(zhuǎn)換后的別名FROMOpenDataSource(Microsoft.Jet.OLEDB.4.0,DataSource=c:test.xls;UserID=Admi
3、n;Password=;Extendedproperties=Excel5.0).xactions/*EXCELinsertOPENDATASOURCE(SQLOLEDB,DataSource=遠(yuǎn)程 ip;UserID=sa;Password=密碼).庫名.dbo.表名(列名 1,列名 2)SELECT 列名 1,列名 2FROMOpenDataSource(Microsoft.Jet.OLEDB.4.0,DataSource=c:test.xls;UserID=Admin;Password=;Extendedproperties=Excel5.0).xactions/*導(dǎo)入文本文件EXECm
4、aster.xp_cmdshellbcpdbname.tablenameinc:DT.txt-c-Sservername-Usa-Ppassword/*導(dǎo)出文本文件導(dǎo)到遠(yuǎn)程 SQLPpassword或EXECmaster.xp_cmdshellbcpSelect*fromdbname.tablenamequeryoutc:DT.txt-c-Sservername-Usa-Ppassword導(dǎo)出到 TXT 文本,用逗號(hào)分開execmaster.xp_cmdshellbcp庫名.表名outd:tt.txt-c-t,-Usa-PpasswordBULKINSERT 庫名.表名FROMc:test.t
5、xtWITH(FIELDTERMINATOR=;,ROWTERMINATOR=n)-/*dBaseIV 文件select*fromOPENROWSET(MICROSOFT.JET.OLEDB.4.O,dBaseIV;HDR=NO;IMEX=2;DATABASE=C:,select*from客戶資料 4.dbf)-*/-/*dBaseIII 文件select*fromOPENROWSET(MICROSOFT.JET.OLEDB.4.O,dBaseIII;HDR=NO;IMEX=2;DATABASE=C:,select*from客戶資料 3.dbf)-*/-/*FoxPro 數(shù)據(jù)庫select*f
6、romopenrowset(MSDASQL,Driver=MicrosoftVisualFoxProDriver;SourceType=DBF;SourceDB=c:,select*fromaa.DBF)-*/*導(dǎo)入DBF文件*select*fromopenrowset(MSDASQL,Driver=MicrosoftVisualFoxProDriver;SourceDB=e:VFP98data;SourceType=DBF,select*fromcustomerwherecountry!=USAorderbycountry)go導(dǎo)出至 ijDBF*/如果要導(dǎo)出數(shù)據(jù)到已經(jīng)生成結(jié)構(gòu)(即現(xiàn)存的)F
7、OXPRO 表中,可以直接用下面的/*SQL 語句insertintoopenrowset(MSDASQL,Driver=MicrosoftVisualFoxProDriver;SourceType=DBF;SourceDB=c:,select*fromaa.DBF)select*from 表說明:SourceDB=c:指定 foxpro 表所在的文件夾aa.DBF 指定 foxpro 表的文件名.尸*導(dǎo)出至|Access*/insertintoopenrowset(Microsoft.Jet.OLEDB.4.0,x:A.mdb;admin;,A 表)select*from 數(shù)據(jù)庫名.B 表/
8、*導(dǎo)入 Access*/insertintoB 表 selet*fromopenrowset(Microsoft.Jet.OLEDB.4.0,x:A.mdb;admin;,A 表)文件名為參數(shù)declarefnamevarchar(20)setfname=d:test.mdbexec(SELECTa.*FROMopendatasource(Microsoft.Jet.OLEDB.4.0,+fname+;admin;,topics)asa)SELECT*FROMOpenDataSource(Microsoft.Jet.OLEDB.4.0,DataSource=f:northwind.mdb;Je
9、tOLEDB:DatabasePassword=123;UserID=Admin;Password=;)產(chǎn)品DECLAREidocintDECLAREdocvarchar(1000)-sampleXMLdocumentSETdoc=CustomerwasverysatisfiedImportantHappyCustomer.*導(dǎo)入 xml 文件-CreateaninternalrepresentationoftheXMLdocument.EXECsp_xml_preparedocumentidocOUTPUT,doc-ExecuteaSELECTstatementusingOPENXMLrow
10、setprovider.SELECT*FROMOPENXML(idoc,/root/Customer/Order,1)WITH(oidchar(5),amountfloat,commentntexttext()EXECsp_xml_removedocumentidoc導(dǎo)到 Txt*/想用select*intoopendatasource(.)fromopendatasource(.)實(shí)現(xiàn)將一個(gè) Excel 文件內(nèi)容導(dǎo)入到一個(gè)文本文件假設(shè) Excel 中有兩列,第一列為姓名,第二列為很行帳號(hào)(16 位)且銀行帳號(hào)導(dǎo)出到文本文件后分兩部分,前 8 位和后 8 位分開。鄒?。喝绻媚闵厦娴恼Z句插入
11、的話,文本文件必須存在,而且有一行:姓名,銀行賬號(hào) 1,銀行賬號(hào) 2然后就可以用下面的語句進(jìn)行插入注意文件名和目錄根據(jù)你的實(shí)際情況進(jìn)行修改.insertintoopendatasource(MICROSOFT.JET.OLEDB.4.0,Text;HDR=Yes;DATABASE=C:).aa#txt-,aa#txt)-*/select 姓名,銀行賬號(hào) 1=left(銀行賬號(hào),8),銀行賬號(hào) 2=right(銀行賬號(hào),8)fromopendatasource(MICROSOFT.JET.OLEDB.4.0,Excel5.0;HDR=YES;IMEX=2;DATABASE=c:a.xls-,Sh
12、eet1$)/*Excei如果你想直接插入并生成文本文件,就要用 bcpdeclaresqlvarchar(8000),tbnamevarchar(50)- -首先將 excel 表內(nèi)容導(dǎo)入到一個(gè)全局臨時(shí)表selecttbname=#temp+cast(newid()asvarchar(40)+,sql=select 姓名,銀行賬號(hào) 1=left(銀行賬號(hào),8),銀行賬號(hào) 2=right(銀行賬號(hào),8)into+tbname+fromopendatasource(MICROSOFT.JET.OLEDB.4.0”Excel5.0;HDR=YES;IMEX=2;DATABASE=c:a.xls”)
13、.Sheet1$exec(sql)- -然后用 bcp 從全局臨時(shí)表導(dǎo)出到文本文件setsql=bcp+tbname+outc:aa.txt/S(local)/P/cexecmaster.xp_cmdshellsql- -刪除臨時(shí)表exec(droptable+tbname)導(dǎo)整個(gè)數(shù)據(jù)庫*/用 bcp 實(shí)現(xiàn)的存儲(chǔ)過程/*實(shí)現(xiàn)數(shù)據(jù)導(dǎo)入/導(dǎo)出的存儲(chǔ)過程根據(jù)不同的參數(shù),可以實(shí)現(xiàn)導(dǎo)入/導(dǎo)出整個(gè)數(shù)據(jù)庫/單個(gè)表調(diào)用示例:- -導(dǎo)出調(diào)用示例- -導(dǎo)出單個(gè)表execfile2tablezj,xzkh_sa.地區(qū)資料,c:zj.txt,1- -導(dǎo)出整個(gè)數(shù)據(jù)庫execfile2tablezj,xzkh_sa,C:
14、docman,1- -導(dǎo)入調(diào)用示例- -導(dǎo)入單個(gè)表execfile2tablezj,xzkh_sa.地區(qū)資料,c:zj.txt,0- -導(dǎo)入整個(gè)數(shù)據(jù)庫execfile2tablezj,xzkh_sa,C:docman,0*/ifexists(select1fromsysobjectswherename=File2Tableandobjectproperty/*(id,IsProcedure)=1)dropprocedureFile2TablegocreateprocedureFile2Tableservernamevarchar(200)-數(shù)據(jù)庫.dbo.表名,如果不指定:.dbo.表名,則導(dǎo)
15、出數(shù)據(jù)庫的所有用戶表-導(dǎo)入/導(dǎo)出路徑/文件名,如果tbname 參數(shù)指明是導(dǎo)出整個(gè)數(shù)據(jù)庫,則這個(gè)參數(shù)是文件存放路徑,文件名自動(dòng)用表名.txt,isoutbit-1 為導(dǎo)出,0 為導(dǎo)入 asdeclaresqlvarchar(8000)iftbnamelike%.%.%-如果指定了表名,則直接導(dǎo)出單個(gè)表beginsetsql=bcp+tbname+casewhenisout=1thenoutelseinend+filename+/w+/S+servername+casewhenisnull(username,)=thenelse/U+usernameend+/P+isnull(password,
16、)execmaster.xp_cmdshellsqlendelsebegin-導(dǎo)出整個(gè)數(shù)據(jù)庫,定義游標(biāo),取出所有的用戶表declarem_tbnamevarchar(250)ifright(filename,1)setfilename=filename+setm_tbname=declare#tbcursorforselectnamefrom+tbname+.sysobjectswherextype=Uexec(m_tbname)open#tbfetchnextfrom#tbintom_tbnamewhilefetch_status=0beginsetsql=bcp+tbname+.+m_tb
17、name+casewhenisout=1thenoutelseinend+filename+m_tbname+.txt/w+/S+servername+casewhenisnull(username,)=thenelse/U+usernameend+/P+isnull(password,)execmaster.xp_cmdshellsql-服務(wù)器名,usernamevarchar(200)-用戶名,如果用 NT 驗(yàn)證方式,則為空,passwordvarchar(200)-密碼,tbnamevarchar(500),filenamevarchar(1000)fetchnextfrom#tbint
18、om_tbnameendclose#tbdeallocate#tbendgo/*Oracle*/EXECsp_addlinkedserverOracleSvr,Oracle7.3,MSDAORA,ORCLDBGOinsertintoopenquery(mailser,selectdisorder,catagofromyulin)values(333,777)補(bǔ)充:對(duì)于用 bcp 導(dǎo)出,是沒有字段名的.用 openrowset 導(dǎo)出,需要事先建好表.用 openrowset 導(dǎo)入,除 ACCESS 及 EXCEL 外,均不支持非本機(jī)數(shù)據(jù)導(dǎo)入postedon2005-08-0223:03 任搏軟閱
19、讀(1133)評(píng)論(4)編輯收藏引用網(wǎng)摘所屬分類:DataBaseFeedBack:#re:SQL 語句導(dǎo)入導(dǎo)出大全收集2005-08-0600:32 任搏軟熟悉 SQLSERVER2000 的數(shù)據(jù)庫管理員都知道,其 DTS 可以進(jìn)行數(shù)據(jù)的導(dǎo)入導(dǎo)出,其實(shí),我們也可以使用Transact-SQL 語句進(jìn)行導(dǎo)入導(dǎo)出操作。在 Transact-SQL 語句中,我們主要使用 OpenDataSource 函數(shù)、OPENROWSET 函數(shù),關(guān)于函數(shù)的詳細(xì)說明,請(qǐng)參考 SQL 聯(lián)機(jī)幫助。利用下述方法,可以十分容易地實(shí)現(xiàn) SQLSERVER、ACCESS、EXCEL 數(shù)據(jù)轉(zhuǎn)換,詳細(xì)說明如下:deletefr
20、omopenquery(mailser,select*select*fromopenquery(mailser,select*updateopenquery(mailser,select*fromfromyulin)fromyulin)yulinwhereid=15)setdisorder=555,catago=888、SQLSERVER 和 ACCESS 的數(shù)據(jù)導(dǎo)入導(dǎo)出常規(guī)的數(shù)據(jù)導(dǎo)入導(dǎo)出:使用 DTS 向?qū)нw移你的 Access 數(shù)據(jù)到 SQLServer,你可以使用這些步驟:1 在 SQLSERVER 企業(yè)管理器中的 Tools(工具)菜單上,選擇 DataTransformation2S
21、ervices(數(shù)據(jù)轉(zhuǎn)換服務(wù)),然后選擇 czdImportData(導(dǎo)入數(shù)據(jù))。3 在 ChooseaDataSource(選擇數(shù)據(jù)源)對(duì)話框中選擇 MicrosoftAccessastheSource,然后鍵入你的.mdb 數(shù)據(jù)庫(.mdb 文件擴(kuò)展名)的文件名或通過瀏覽尋找該文件。4 在 ChooseaDestination(選擇目標(biāo))對(duì)話框中,選擇 MicrosoftOLEDBProviderforSQLServer,選擇數(shù)據(jù)庫服務(wù)器,然后單擊必要的驗(yàn)證方式。5 在 SpecifyTableCopy(指定表格復(fù)制)或 Query(查詢)對(duì)話框中,單擊 Copytables(復(fù)制表格)。
22、6 在 SelectSourceTables(選擇源表格)對(duì)話框中,單擊 SelectAll(全部選定)。下一步,完成。Transact-SQL 語句進(jìn)行導(dǎo)入導(dǎo)出:1 .在 SQLSERVER 里查詢 access 數(shù)據(jù):SELECT*FROMOpenDataSource(Microsoft.Jet.OLEDB.4.0,DataSource=c:DB.mdb;UserID=Admin;Password=).表名2 .將 access 導(dǎo)入 SQLserver在 SQLSERVER 里運(yùn)行:SELECT*INTOnewtableFROMOPENDATASOURCE(Microsoft.Jet.O
23、LEDB.4.0,DataSource=c:DB.mdb;UserID=Admin;Password=).表名3 .將 SQLSERVER 表里的數(shù)據(jù)插入到 Access 表中-=在 SQLSERVER 里運(yùn)行:insertintoOpenDataSource(Microsoft.Jet.OLEDB.4.0,DataSource=c:DB.mdb;UserID=Admin;Password=).表名(列名 1,列名 2)select 列名 1,列名 2fromsql 表實(shí)例:insertintoOPENROWSET(Microsoft.Jet.OLEDB.4.0,C:db.mdb;admin;
24、,Test)selectid,namefromTestINSERTINTOOPENROWSET(Microsoft.Jet.OLEDB.4.0,c:trade.mdb;admin;,表名)SELECT*FROMsqltablename二、SQLSERVER 和 EXCEL 的數(shù)據(jù)導(dǎo)入導(dǎo)出1、在 SQLSERVER 里查詢 Excel 數(shù)據(jù):SELECT*FROMOpenDataSource(Microsoft.Jet.OLEDB.4.0,DataSource=c:book1.xls;UserID=Admin;Password=;Extendedproperties=Excel5.0).下面是個(gè)
25、查詢的示例,它通過用于 Jet 的 OLEDB 提供程序查詢 Excel 電子表格。SELECT*FROMOpenDataSource(Microsoft.Jet.OLEDB.4.0,DataSource=c:Financeaccount.xls;UserID=Admin;Password=;Extendedproperties=Excel5.0).xactions2、將 Excel 的數(shù)據(jù)導(dǎo)入 SQLserver:SELECT*intonewtableFROMOpenDataSource(Microsoft.Jet.OLEDB.4.0,DataSource=c:book1.xls;UserI
26、D=Admin;Password=;Extendedproperties=Excel5.0).Sheet1$實(shí)例:SELECT*intonewtableFROMOpenDataSource(Microsoft.Jet.OLEDB.4.0,DataSource=c:Financeaccount.xls;UserID=Admin;Password=;Extendedproperties=Excel5.0).xactions3、將 SQLSERVER 中查詢到的數(shù)據(jù)導(dǎo)成一個(gè) Excel 文件T-SQL 代碼:EXECmaster.xp_cmdshellbcp 庫名.dbo.表名 outc:Temp.
27、xls-c-q-Sservername-Usa-P參數(shù):S 是 SQL 服務(wù)器名;U 是用戶;P 是密碼說明:還可以導(dǎo)出文本文件等多種格式實(shí)例:EXECmaster.xp_cmdshellbcpsaletesttmp.dbo.CusAccountoutc:temp1.xls-c-q-SpmserverUsaPsaEXECmaster.xp_cmdshellbcpSELECTau_fname,au_lnameFROMpubs.authorsORDERBYau_lnamequeryoutC:authors.xls-c-Sservername-Usa-Ppassword在 VB6 中應(yīng)用 ADO 導(dǎo)
28、出 EXCEL 文件代碼:DimcnAsNewADODB.Connectioncn.openDriver=SQLServer;Server=WEBSVR;DataBase=WebMis;UID=sa;WD=123;cn.executemaster.xp_cmdshellbcpSELECTcol1,col2FROM 庫名.dbo.表名queryoutE:DT.xls-c-Sservername-Usa-Ppassword4、在 SQLSERVER 里往 Excel 插入數(shù)據(jù):insertintoOpenDataSource(Microsoft.Jet.OLEDB.4.0,DataSource=c
29、:Temp.xls;UserID=Admin;Password=;Extendedproperties=Excel5.0).table1(A1,A2,A3)values(1,2,3)T-SQL 代碼:INSERTINTOOPENDATASOURCE(Microsoft.JET.OLEDB.4.0,ExtendedProperties=Excel8.0;Datasource=C:traininginventur.xls).Filiale1$(bestand,produkt)VALUES(20,Test)總結(jié):利用以上語句,我們可以方便地將 SQLSERVER、ACCESS 和 EXCEL 電子表
30、格軟件中的數(shù)據(jù)進(jìn)行轉(zhuǎn)換,為我們提供了極大方便!回復(fù)#re:SQL 語句導(dǎo)入導(dǎo)出大全收集2005-08-0600:37 任搏軟ASP 導(dǎo)出 Excel 數(shù)據(jù)的四種方法來源:aspsky 作者:tonny一、使用 OWC什么是 OWC?OWC 是 OfficeWebCompent 的縮寫,即 Microsoft 的 OfficeWeb 組件,它為在 Web 中繪制圖形提供了靈活的同時(shí)也是最基本的機(jī)制。在一個(gè) intranet 環(huán)境中,如果可以假設(shè)客戶機(jī)上存在特定的瀏覽器和一些功能強(qiáng)大的軟件(如 IE5 和 Office2000),那么就有能力利用 OfficeWeb 組件提供一個(gè)交互式圖形開發(fā)環(huán)境
31、O 這種模式下,客戶端工作站將在整個(gè)任務(wù)中分擔(dān)很大的比重。0theniColOffset=iColOffElseiColOffset=2EndIfEndPropertyPublicPropertyLetRowOffset(iRowOff)IfiRowOff0theniRowOffset=iRowOffElseiRowOffset=2EndIfEndPropertySubGenerateWorksheet(objRS)PopulatestheExcelworksheetbasedonaRecordsetscontentsStartbydisplayingthetitlesIfobjRS.EOFt
32、henExitSubDimobjField,iCol,iRowiCol=iColOffsetiRow=iRowOffsetForEachobjFieldinobjRS.FieldsobjSpreadsheet.Cells(iRow,iCol).Value=objField.NameobjSpreadsheet.Columns(iCol).AutoFitColumns設(shè)置 Excel 表里的字體objSpreadsheet.Cells(iRow,iCol).Font.Bold=TrueobjSpreadsheet.Cells(iRow,iCol).Font.Italic=FalseobjSpre
33、adsheet.Cells(iRow,iCol).Font.Size=10objSpreadsheet.Cells(iRow,iCol).Halignment=2居中 iCol=iCol+1NextobjFieldDisplayallofthedataDoWhileNotobjRS.EOFiRow=iRow+1iCol=iColOffsetForEachobjFieldinobjRS.FieldsIfIsNull(objField.Value)thenobjSpreadsheet.Cells(iRow,iCol).Value=ElseobjSpreadsheet.Cells(iRow,iCol
34、).Value=objField.ValueobjSpreadsheet.Columns(iCol).AutoFitColumnsobjSpreadsheet.Cells(iRow,iCol).Font.Bold=FalseobjSpreadsheet.Cells(iRow,iCol).Font.Italic=FalseobjSpreadsheet.Cells(iRow,iCol).Font.Size=10EndIfiCol=iCol+1NextobjFieldobjRS.MoveNextLoopEndSubFunctionSaveWorksheet(strFileName)Savethewo
35、rksheettoaspecifiedfilenameOnErrorResumeNextCallobjSpreadsheet.ActiveSheet.Export(strFileName,0)SaveWorksheet=(Err.Number=0)EndFunctionEndClassDimobjRSSetobjRS=Server.CreateObject(ADODB.Recordset)objRS.OpenSELECT*FROMxxxx,Provider=SQLOLEDB.1;PersistSecurityInfo=True;UserID=xxxx;Password=xxxx;Initial
36、Catalog=xxxx;Datasource=xxxx;DimSaveNameSaveName=Request.Cookies(savename)(name)DimobjExcelDimExcelPathExcelPath=Excel&SaveName&.xlsSetobjExcel=NewExcelGenobjExcel.RowOffset=1objExcel.ColumnOffset=1objExcel.GenerateWorksheet(objRS)IfobjExcel.SaveWorksheet(Server.MapPath(ExcelPath)thenRespons
37、e.Write已保存為 Excel 文件.下載ElseResponse.Write在保存過程中有錯(cuò)誤!EndIfSetobjExcel=NothingobjRS.CloseSetobjRS=Nothing%二、用 Excel 的 Application 組件在客戶端導(dǎo)出到 Excel 或 Word注意:兩個(gè)函數(shù)中的“data 是網(wǎng)頁中要導(dǎo)出的 table 的 id導(dǎo)出到 Excel 代碼!-functionAutomateExcel()(/StartExcelandgetApplicationobject.varoXL=newActiveXObject(Excel.Application);/
38、Getanewworkbook.varoWB=oXL.Workbooks.Add();varoSheet=oWB.ActiveSheet;vartable=document.all.data;varhang=table.rows.length;varlie=table.rows(0).cells.length;/Addtableheadersgoingcellbycell.for(i=0;ihang;i+)for(j=0;j導(dǎo)出到 Word 代碼SubbuildDocsettable=document.all.datarow=table.rows.lengthcolumn=table.rows
39、(1).cells.lengthSetobjWordDoc=CreateObject(Word.Document)objWordDoc.Application.Documents.AddtheTemplate,FalseobjWordDoc.Application.Visible=TrueDimtheArray(20,10000)fori=0torow-1forj=0tocolumn-1theArray(j+1,i+1)=table.rows(i).cells(j).innerTEXTnextnextobjWordDoc.Application.ActiveDocument.Paragraph
40、s.Add.Range.InsertBefore(綜合查詢結(jié)果集)/顯不表格標(biāo)題objWordDoc.Application.ActiveDocument.Paragraphs.Add.Range.InsertBefore()SetrngPara=objWordDoc.Application.ActiveDocument.Paragraphs(1).RangeWithrngPara.Bold=True/將標(biāo)題設(shè)為粗體.ParagraphFormat.Alignment=1/將標(biāo)題居中.Font.Name=隸書/設(shè)定標(biāo)題字體.Font.Size=18/設(shè)定標(biāo)題字體大小EndWithSetrngC
41、urrent=objWordDoc.Application.ActiveDocument.Paragraphs(3).RangeSettabCurrent=ObjWordDoc.Application.ActiveDocument.Tables.Add(rngCurrent,row,column)fori=1tocolumnobjWordDoc.Application.ActiveDocument.Tables(1).Rows(1).Cells(i).Range.InsertAftertheArray(i,1)objWordDoc.Application.ActiveDocument.Tabl
42、es(1).Rows(1).Cells(i).Range.ParagraphFormat.alignment=1nextFori=1tocolumnForj=2torowobjWordDoc.Application.ActiveDocument.Tables(1).Rows(j).Cells(i).Range.InsertAftertheArray(i,j)objWordDoc.Application.ActiveDocument.Tables(1).Rows(j).Cells(i).Range.ParagraphFormat.alignment=1NextNextEndSub三、直接在 IE
43、 中打開,再存為 EXCEL 文件把讀出的數(shù)據(jù)用格式,在網(wǎng)頁中顯示出來,同時(shí),加上下一句即可把 EXCEL 表在客客戶端顯示。注意:顯示的頁面中,只把輸出,最好不要輸出其他表格以外的信息。用 fso 方法生成文本文件的方法,生成一個(gè)擴(kuò)展名為 csv 文件。此文件,一行即為數(shù)據(jù)表的一行。生四、導(dǎo)出以半角逗號(hào)隔開的csv成數(shù)據(jù)表字段用半角逗號(hào)隔開。(有關(guān) fso 生成文本文件的方法,在此就不做介紹了)CSV 文件介紹(逗號(hào)分隔文件)選擇該項(xiàng)系統(tǒng)將創(chuàng)建一個(gè)可供下載的 CSV 文件;CSV 是最通用的一種文件格式,它可以非常容易地被導(dǎo)入各種 PC 表格及數(shù)據(jù)庫中。請(qǐng)注意即使選擇表格作為輸出格式,仍然可
44、以將結(jié)果下載 CSV 文件。在表格輸出屏幕的底部,顯示有CSV 文件選項(xiàng),點(diǎn)擊它即可下載該文件。如果您把瀏覽器配置為將您的電子表格軟件與文本(TXT)/逗號(hào)分隔文件(CSV)相關(guān)聯(lián),當(dāng)您下載該文件時(shí),該文件將自動(dòng)打開。下載下來后,如果本地已安裝 EXCEL,點(diǎn)擊此文件,即可自動(dòng)用 EXCEL軟件打開此文件?;貜?fù)-re:SQL 語句導(dǎo)入導(dǎo)出大全收集2005-08-0600:38 任搏軟標(biāo)題導(dǎo)入/導(dǎo)出 Excelzjcxc(原作)關(guān)鍵字導(dǎo)入/導(dǎo)出 Excel從 Excel 文件中,導(dǎo)入數(shù)據(jù)到 SQL 數(shù)據(jù)庫中,很簡(jiǎn)單直接用下面的語句:/*=*/- -如果接受數(shù)據(jù)導(dǎo)入的表已經(jīng)存在insertinto
45、 表 select*fromOPENROWSET(MICROSOFT.JET.OLEDB.4.0,Excel5.0;HDR=YES;DATABASE=c:test.xls,sheet1$)- -如果導(dǎo)入數(shù)據(jù)并生成表select*into 表 fromOPENROWSET(MICROSOFT.JET.OLEDB.4.0,Excel5.0;HDR=YES;DATABASE=c:test.xls,sheet1$)/*=*/- -如果從 SQL 數(shù)據(jù)庫中,導(dǎo)出數(shù)據(jù)到 Excel,如果 Excel 文件已經(jīng)存在,而且已經(jīng)按照要接收的數(shù)據(jù)創(chuàng)建好表頭,就可以簡(jiǎn)單的用:insertintoOPENROWSET
46、(MICROSOFT.JET.OLEDB.4.0,Excel5.0;HDR=YES;DATABASE=c:test.xls,sheet1$)select*from 表- -如果 Excel 文件不存在,也可以用 BCP 來導(dǎo)成類 Excel 的文件,注意大小寫:- -導(dǎo)出表的情況EXECmaster.xp_cmdshellbcp 數(shù)據(jù)庫名.dbo.表名 outc:test.xls/c-/S服務(wù)器名/U用戶名-P密碼- -導(dǎo)出查詢的情況EXECmaster.xp_cmdshellbcpSELECTau_fname,au_lnameFROMpubs.authorsORDERBYau_lnamequ
47、eryoutc:test.xls/c-/S服務(wù)器名/U用戶名-P密碼說明.c:test.xls 為導(dǎo)入/導(dǎo)出的 Excel 文件名.sheet1$為 Excel 文件的工作表名,一般要加上$才能正常使用.下面是導(dǎo)出真正 Excel 文件的方法:/*-數(shù)據(jù)導(dǎo)出 EXCEL導(dǎo)出表中的數(shù)據(jù)到 Excel,包含字段名,文件為真正的 Excel 文件,如果文件不存在,將自動(dòng)創(chuàng)建文件,如果表不存在,將自動(dòng)創(chuàng)建表基于通用性考慮,僅支持導(dǎo)出標(biāo)準(zhǔn)數(shù)據(jù)類型-*/*-調(diào)用示例p_exporttbtbname=地區(qū)資料,path=c:,fname=aa.xls-*/ifexists(select*fromdbo.sy
48、sobjectswhereid=object_id(Ndbo.p_exporttb)andOBJECTPROPERTY(id,NIsProcedure)=1)dropproceduredbo.p_exporttbGOcreateprocp_exporttbtbnamesysname,-要導(dǎo)出的表名,注意只能是表名/視圖名pathnvarchar(1000),-文件存放目錄fnamenvarchar(250)=-文件名,默認(rèn)為表名 asdeclareerrint,srcnvarchar(255),descnvarchar(255),outintdeclareobjint,constrnvarch
49、ar(1000),sqlvarchar(8000),fdlistvarchar(8000)-參數(shù)檢測(cè)ifisnull(fname,)=setfname=tbname+.xls-檢查文件是否已經(jīng)存在ifright(path,1)setpath=path+createtable#tb(abit,bbit,cbit)setsql=path+fnameinsertinto#tbexecmaster.xp_fileexistsql-數(shù)據(jù)庫創(chuàng)建語句setsql=path+fnameifexists(select1from#tbwherea=1)setconstr=DRIVER=MicrosoftExcel
50、Driver(*.xls);DSN=;READONLY=FALSE+;CREATE_DB=+sql+;DBQ=+sqlelsesetconstr=Provider=Microsoft.Jet.OLEDB.4.0;ExtendedProperties=Excel5.0;HDR=YES+;DATABASE=+sql+-連接數(shù)據(jù)庫execerr=sp_oacreateadodb.connection,objoutiferr0gotolberrexecerr=sp_oamethodobj,open,null,constriferr0gotolberr-創(chuàng)建表的 SQLselectsql=,fdlist
51、=selectfdlist=fdlist+,+,sql=sql+,++in(char,nchar,varchar,nvarchar)thentext(+cast(casewhena.length255then255elsea.lengthendasvarchar)+)in(tynyint,int,bigint,tinyint)in(smalldatetime,datetime)in(money,smallmoney)thenmoneyelseb.
52、nameendFROMsyscolumnsaleftjoinsystypesbona.xtype=notin(image,text,uniqueidentifier,sql_variant,ntext,varbinary,binary,timestamp)andobject_id(tbname)=idselectsql=createtable+tbname+(+substring(sql,2,8000)+),fdlist=substring(fdlist,2,8000)execerr=sp_oamethodobj,execute,outout,sql
53、iferr0gotolberrexecerr=sp_oadestroyobj導(dǎo)入數(shù)據(jù)setsql=openrowset(MICROSOFT.JET.OLEDB.4.0JExcel5.0;HDR=YES;DATABASE=+path+fname+”,+tbname+$)exec(insertinto+sql+(+fdlist+)select+fdlist+from+tbname)returnlberr:execsp_oageterrorinfo0,srcout,descoutlbexit:selectcast(errasvarbinary(4)as 錯(cuò)誤號(hào),srcas 錯(cuò)誤源,descas 錯(cuò)誤
54、描述selectsql,constr,fdlistgo*-數(shù)據(jù)導(dǎo)出 EXCEL導(dǎo)出查詢中的數(shù)據(jù)到 Excel,包含字段名,文件為真正的 Excel 文件,如果文件不存在,將自動(dòng)創(chuàng)建文件,如果表不存在,將自動(dòng)創(chuàng)建表基于通用性考慮,僅支持導(dǎo)出標(biāo)準(zhǔn)數(shù)據(jù)類型-*/*-調(diào)用示例p_exporttbsqlstr=select*from 地區(qū)資料,path=c:,fname=aa.xls,sheetname=地區(qū)資料-*/ifexists(select*fromdbo.sysobjectswhereid=object_id(Ndbo.p_exporttb)andOBJECTPROPERTY(id,NIsPr
55、ocedure)=1)dropproceduredbo.p_exporttbGOcreateprocp_exporttbsqlstrsysname,-查詢語句,如果查詢語句中使用了 orderby,請(qǐng)加上 top100percent,注意,如果導(dǎo)出表/視圖,用上面的存儲(chǔ)過程pathnvarchar(1000),-文件存放目錄fnamenvarchar(250),-文件名sheetnamevarchar(250)=-要?jiǎng)?chuàng)建的工作表名,默認(rèn)為文件名asdeclareerrint,srcnvarchar(255),descnvarchar(255),outintdeclareobjint,const
56、rnvarchar(1000),sqlvarchar(8000),fdlistvarchar(8000)- -參數(shù)檢測(cè)ifisnull(fname,)=setfname=temp.xlsifisnull(sheetname,)=setsheetname=replace(fname,.,#)- -檢查文件是否已經(jīng)存在ifright(path,1)setpath=path+createtable#tb(abit,bbit,cbit)setsql=path+fnameinsertinto#tbexecmaster.xp_fileexistsql- -數(shù)據(jù)庫創(chuàng)建語句setsql=path+fnameifexists(select1from#tbwherea=1)setconstr=DRIVER=MicrosoftExcelDriver(*.xls);DSN=;READONLY=FALSE+;CREATE_DB=+sql+;DBQ=+sqlelsesetconstr=Provider=Microsoft.Jet.OLEDB.4.0;ExtendedProperties=Excel5.0;HDR=YES+;DATABASE=+sql+- -連接數(shù)據(jù)
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 農(nóng)村分戶分家協(xié)議書范本8篇
- 有關(guān)建設(shè)工程勘察設(shè)計(jì)合同(3)4篇
- 多人股份制合作協(xié)議合同6篇
- 交通運(yùn)輸自動(dòng)化監(jiān)測(cè)與管理系統(tǒng)項(xiàng)目績(jī)效評(píng)估報(bào)告
- 中低壓電纜連接件項(xiàng)目績(jī)效評(píng)估報(bào)告
- T/ZHCA 028-2023化妝品原料水解膠原深冷金槍魚膠原低聚肽
- 2025西安交通大學(xué)城市學(xué)院輔導(dǎo)員考試試題及答案
- 2025煙臺(tái)文化旅游職業(yè)學(xué)院輔導(dǎo)員考試試題及答案
- 2025石家莊醫(yī)學(xué)高等專科學(xué)校輔導(dǎo)員考試試題及答案
- 機(jī)器人學(xué)導(dǎo)論 課件全套 王偉 第1-5章-緒論 -操作臂的控制方法
- ZJUTTOP100理工類學(xué)術(shù)期刊目錄(2018年版)
- F0值計(jì)算公式自動(dòng)
- 道路交通事故現(xiàn)場(chǎng)勘查課件
- 門店電表記錄表
- 心理學(xué)在船舶安全管理中的應(yīng)用
- JJF(鄂) 90-2021 電子輥道秤校準(zhǔn)規(guī)范(高清版)
- 超星爾雅學(xué)習(xí)通《今天的日本》章節(jié)測(cè)試含答案
- 組態(tài)王雙機(jī)熱備
- 餐飲量化分級(jí)
- 三一重工SCC2000履帶吊履帶式起重機(jī)技術(shù)參數(shù)
- [精品]GA38-2004《銀行營(yíng)業(yè)場(chǎng)所風(fēng)險(xiǎn)等級(jí)和防護(hù)級(jí)別的規(guī)定》
評(píng)論
0/150
提交評(píng)論