亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        使用VB將SQL?。樱澹颍觯澹驍?shù)據(jù)導(dǎo)出生成Excel表格

        2009-07-02 08:36:00楊曉峰
        新媒體研究 2009年10期
        關(guān)鍵詞:數(shù)據(jù)庫(kù)

        楊曉峰 張 茁

        [摘要]使用VB將SQL Server和Excel結(jié)合起來(lái)處理數(shù)據(jù)會(huì)得到事半功倍的效果。介紹設(shè)計(jì)一個(gè)VB程序?qū)QL Server中查詢到的數(shù)據(jù)導(dǎo)出生成Excel表格的方法。以解決非專業(yè)人員處理數(shù)據(jù)和閱讀數(shù)據(jù)的問(wèn)題,也解決SQL Server數(shù)據(jù)發(fā)布需要使用專用的SQL Server管理工具的不便之處。

        [關(guān)鍵詞]VB SQL Server Excel表格 數(shù)據(jù)庫(kù)

        中圖分類號(hào):TP3文獻(xiàn)標(biāo)識(shí)碼:A文章編號(hào):1671-7597(2009)0520058-01

        SQL Server作為微軟在Windows系列平臺(tái)上開(kāi)發(fā)的數(shù)據(jù)庫(kù),一經(jīng)推出就以其易用性得到了很多用戶的青睞。Excel是微軟公司出品的Office系列辦公軟件中的一個(gè)組件,確切地說(shuō),它是一個(gè)電子表格軟件,可以用來(lái)制作電子表格、完成許多復(fù)雜的數(shù)據(jù)運(yùn)算,進(jìn)行數(shù)據(jù)的分析和預(yù)測(cè)并且具有強(qiáng)大的制作圖表的功能。使用VB將SQL Server和Excel結(jié)合起來(lái)處理數(shù)據(jù)會(huì)得到事半功倍的效果。下面將介紹如何設(shè)計(jì)一個(gè)VB程序?qū)QL Server中查詢到的數(shù)據(jù)導(dǎo)出生成Excel表格。

        一、利用ADO的數(shù)據(jù)庫(kù)訪問(wèn)組件獲取SQL Server中的數(shù)據(jù)

        1.在VB工程中新建一個(gè)模塊LocalInfo,在模塊中定義SqlConn的公共函數(shù)用以建立與SQL Server數(shù)據(jù)庫(kù)的連接SqlCn對(duì)象,函數(shù)代碼如下:

        Public Function SqlConn(ByVal Ser As String, Data As String, User As String, Pass As String) As Boolean

        On Error Resume Next

        Set SqlCn = New ADODB.Connection

        SqlCn.CursorLocation = adUseClient

        SqlCn.ConnectionString = "Provider=SQLOLEDB;Server=" + Ser + ";Database=" + Data + ";User ID='" + User + "';Password='" + Pass + "';"

        SqlCn.Open

        If Err Then

        Err.Clear

        SqlConn = False '數(shù)據(jù)庫(kù)連接失敗

        MsgBox "數(shù)據(jù)庫(kù)連接失敗!系統(tǒng)不能正常運(yùn)行!" & Chr(13) & Chr(10) & "請(qǐng)進(jìn)入“數(shù)據(jù)庫(kù)設(shè)置”重新設(shè)定數(shù)據(jù)庫(kù)參數(shù)!" & Chr(13) & Chr(10) & "或與系統(tǒng)管理員聯(lián)系,完成后請(qǐng)重新啟動(dòng)該系統(tǒng)。", vbOKOnly, "系統(tǒng)提示"

        Else

        SqlConn = True

        End If

        End Function

        其中"Provider=SQLOLEDB;Server=" + Ser + ";Database=" + Data + ";User ID='" + User + "';Password='" + Pass + "';"中的Ser是數(shù)據(jù)庫(kù)服務(wù)器的名稱,Data是數(shù)據(jù)庫(kù)的名稱,User 和Pass分別用戶名和密碼,上述參數(shù)可以直接賦值也可寫(xiě)入INI配置文件中調(diào)用。

        2.調(diào)用SqlConn函數(shù)建立SqlCn對(duì)象的數(shù)據(jù)庫(kù)連接后,創(chuàng)建SqlRs記錄集對(duì)象用以執(zhí)行SQL查詢語(yǔ)句來(lái)獲取用戶所需的數(shù)據(jù),以查詢課表信息為例,代碼如下:

        Set SqlRs = New ADODB.Recordset'創(chuàng)建ADO記錄集對(duì)象

        Sql = "select * from Curriculums where cyears='" & Y34 & "' and cterm='" & T34 & "' and ctname='" & Trim(Rs1!ctname) & "' and csd='單'"

        SqlRs.Open Sql, SqlCn'執(zhí)行查詢語(yǔ)句

        查詢后的的結(jié)果可利用對(duì)SqlRs記錄集對(duì)象的游標(biāo)操作來(lái)完成相關(guān)工作。

        二、創(chuàng)建Excel編輯對(duì)象

        1.Excel編輯對(duì)象不是Visual Basic 6.0的標(biāo)準(zhǔn)組件,因此需要在工程添加組件,可以通過(guò)菜單“工程/引用”項(xiàng)(如圖一),打開(kāi)“引用”窗口(如圖二),選擇Excel編輯組件“Microsoft Excel 11.0 Object Library”即可。

        2.定義和設(shè)置,可以通過(guò)VB程序完成對(duì)Excel表格表頭設(shè)計(jì)、字體設(shè)置、單元格設(shè)置等常用操作,首先定義Excel編輯對(duì)象中的3個(gè)對(duì)象表格(Excel.Application)、工作簿(Excel.Workbook)和單元格(Excel.

        Worksheet),代碼如下:

        Dim xlExcel As New Excel.Application

        Dim xlBook As New Excel.Workbook

        Dim xlSheet As New Excel.Worksheet

        定義好這三個(gè)對(duì)象,再完成Excel表格表頭的設(shè)置,代碼如下:

        Set xlBook = xlExcel.Workbooks.Add

        Set xlSheet = xlExcel.Worksheets.Add

        ‘設(shè)定表格中第2行1到8列8個(gè)單元格中的內(nèi)容

        xlSheet.Cells(2, 2) = "星期一"

        xlSheet.Cells(2, 3) = "星期二"

        xlSheet.Cells(2, 4) = "星期三"

        xlSheet.Cells(2, 5) = "星期四"

        xlSheet.Cells(2, 6) = "星期五"

        xlSheet.Cells(2, 7) = "星期六"

        xlSheet.Cells(2, 8) = "星期日"

        ‘設(shè)定表格中第1列3到9行7個(gè)單元個(gè)中的內(nèi)容

        xlSheet.Cells(3, 1) = "早操"

        xlSheet.Cells(4, 1) = "早自習(xí)"

        xlSheet.Cells(5, 1) = "1-2節(jié)"

        xlSheet.Cells(6, 1) = "3-4節(jié)"

        xlSheet.Cells(7, 1) = "5-6節(jié)"

        xlSheet.Cells(8, 1) = "7-8節(jié)"

        xlSheet.Cells(9, 1) = "9-10節(jié)"

        ‘設(shè)定表格中第1行第1列中的內(nèi)容,該項(xiàng)為表格的標(biāo)題

        xlSheet.Cells(1, 1)=Me.CombN1.Text & Me.CombQ1.Text & "_" & Trim(Rs1!ccname) & "班課表(單周)"

        '設(shè)置標(biāo)題為黑體,18號(hào)

        xlSheet.Range(Cells(1, 1), Cells(1, 8)).Characters.Font.Name = "黑體"

        xlSheet.Range(Cells(1, 1), Cells(1, 8)).Characters.Font.Size = 18

        xlSheet.Range(Cells(1, 1), Cells(1, 8)).Characters.Font.FontStyle = "加粗"

        ‘合并表格中的第一行中的1到8列

        xlSheet.Range(Cells(1, 1), Cells(1, 8)).Merge

        ‘設(shè)置所有單元格中內(nèi)容為水平居中對(duì)齊

        xlSheet.Range(Cells(1, 1), Cells(65536, 256)).HorizontalAlignment = 3

        '設(shè)置所有單元格內(nèi)容為垂直居中對(duì)齊

        xlSheet.Range(Cells(1, 1), Cells(65536, 256)).VerticalAlignment = 2

        ‘設(shè)置從第2行起所有單元格的字體

        xlSheet.Range(Cells(2, 1), Cells(65536, 256)).Characters.Font.Name = "宋體"

        ‘設(shè)置從第2行起所有單元格的字體大小

        xlSheet.Range(Cells(2, 1), Cells(65536, 256)).Characters.Font.Size = 10

        在上述程序中標(biāo)題應(yīng)在添加了內(nèi)容后完成合并操作,表格的行與列的索引值是從1開(kāi)始,行的最大值是65536,列的最大值是256。

        3.將查詢到的數(shù)據(jù)到的數(shù)據(jù)添加到Excel表格中,這是一個(gè)較為容易的步驟,方法很多,這里是將查詢到的結(jié)果SqlRs記錄集先放置在表格控件LstXX中,然后再將數(shù)據(jù)循環(huán)的方式取出導(dǎo)入到Excel表格中,此種方法可以提高數(shù)據(jù)的利用率,減少前臺(tái)系統(tǒng)與后臺(tái)數(shù)據(jù)庫(kù)的交換次數(shù)。代碼如下:

        For a = 1 To 7

        LstXX.Row = a

        For b = 1 To 7

        LstXX3.Col = b

        xlSheet.Cells(a + 2, b + 1) = Trim(LstXX.Text)

        Next

        Next

        4.保存已經(jīng)導(dǎo)入數(shù)據(jù)的Excel表格,可根據(jù)用戶設(shè)定Excel文件名。

        xlBook.SaveAs "C:XXX班課表(單周).xls"

        注意上述步驟后應(yīng)及時(shí)清除對(duì)象釋放內(nèi)存空間。

        xlExcel.Quit

        Set xlSheet = Nothing

        Set xlBook = Nothing

        通過(guò)上述方法可以將SQL Server中的數(shù)據(jù)導(dǎo)出生成Excel表格,這樣可以解決非專業(yè)人員處理數(shù)據(jù)和閱讀數(shù)據(jù)的問(wèn)題,也解決了SQL Server數(shù)據(jù)發(fā)布需要使用專用的SQL Server管理工具的不便之處。

        參考文獻(xiàn):

        [1]啟明工作室編著,《ASP.NET+SQL Server網(wǎng)絡(luò)應(yīng)用系統(tǒng)開(kāi)發(fā)與實(shí)例》,人民郵電出版社,2005.9.

        [2]柳青編著,《VB程序設(shè)計(jì)--面向21世紀(jì)高職高專計(jì)算機(jī)專業(yè)教材》,人民交通出版社,2004.2.

        [3]李巖、張瑞雪主編,《SQL Server2005實(shí)用教程》,清華大學(xué)出版社,2008.9.

        作者簡(jiǎn)介:

        楊曉峰(1976-),男,漢族,江西南昌人,助講,研究方向:職業(yè)教育;張茁(1981-),女,漢族,吉林輝南人,助講,研究方向:職業(yè)教育。

        猜你喜歡
        數(shù)據(jù)庫(kù)
        數(shù)據(jù)庫(kù)
        數(shù)據(jù)庫(kù)
        數(shù)據(jù)庫(kù)
        數(shù)據(jù)庫(kù)
        乱老年女人伦免费视频| 国产精品一区二区日韩精品| 青青草在线公开免费视频| 精品国产亚洲亚洲国产 | 国产一级免费黄片无码AV| 国产大学生自拍三级视频| 玖玖色玖玖草玖玖爱在线精品视频| 久久精品国产亚洲av高清热| 97se亚洲国产综合自在线图片 | 国产综合激情在线亚洲第一页| 精品久久免费一区二区三区四区| 亚洲国产区中文在线观看| 人人人妻人人澡人人爽欧美一区| 亚洲男人天堂| 国产韩国精品一区二区三区| 手机在线免费观看av不卡网站| 国99久9在线 | 免费| 牛牛本精品99久久精品88m| 国产亚洲av手机在线观看| 漂亮丰满人妻被中出中文字幕| 国产精品一区二区在线观看| 无码日韩AⅤ一区二区三区| 偷拍与自偷拍亚洲精品| 麻豆文化传媒精品一区观看| 无码骚夜夜精品| 国产精品中文第一字幕| 美女丝袜诱惑在线播放蜜桃| 久久久久人妻精品一区三寸| 永久黄网站色视频免费| 黄色av三级在线免费观看| 精品国产一区二区三区18p| 欧美裸体xxxx极品少妇| 国产美女一级做a爱视频| 中文字幕亚洲乱码熟女1区2区| 中文字幕在线观看| 免费无码av片在线观看网址| 亚洲区一区二区中文字幕| 午夜少妇高潮在线观看| 在线精品一区二区三区| 国产精品久久久久免费a∨不卡| 不卡免费在线亚洲av|