利用自動(dòng)化技術(shù)打印excel表格論文

時(shí)間:2022-06-23 01:48:10 自動(dòng)化技術(shù) 我要投稿
  • 相關(guān)推薦

利用自動(dòng)化技術(shù)打印excel表格論文

  摘要Microsoft公司的Office辦公軟件中的Excel是一種專(zhuān)業(yè)的電子表格處理軟件,Microsoft公司對它的Office軟件系列都提供了對自動(dòng)化技術(shù)的支持,這樣就可以通過(guò)其他高級編程語(yǔ)言調用Office軟件系列,利用其成熟而可靠的技術(shù)與功能來(lái)輕松實(shí)現特定功能。本文中,將通過(guò)自動(dòng)化技術(shù),實(shí)現在PowerBuilder中調用Excel來(lái)實(shí)現表格的輸出與打印。

利用自動(dòng)化技術(shù)打印excel表格論文

  關(guān)鍵詞 自動(dòng)化 Excel PowerBuilder 表格

  1 問(wèn)題的提出

  在為某企業(yè)設計電子圖文檔管理系統中,用戶(hù)提出要求,要能夠快速輸出某些電子表格。在未使用自動(dòng)化技術(shù)之前,該企業(yè)使用的是AutoCad軟件來(lái)一次性將多個(gè)表格生成到一個(gè)DWG文件中,然后通過(guò)繪圖儀出圖。這種做法的好處在于能夠有效的節省企業(yè)的開(kāi)支,一次性生成大量的表格。但是,缺點(diǎn)也是明顯的:這種做法欠缺靈活性,當遇到只需要輸出少量表格的情況時(shí),做法過(guò)于復雜。即這種做法非常適合于大量表格的批量輸出,而不適合個(gè)別表格的單獨輸出。正是在這種背景下,我們提出了使用Excel電子表格處理軟件來(lái)處理該企業(yè)的表格輸出問(wèn)題。

  Excel軟件是專(zhuān)門(mén)為處理各式電子表格而設計,它能夠非常高效而專(zhuān)業(yè)的處理各式表格,并且非常關(guān)鍵的是:它具有表格計算匯總功能,在這一點(diǎn)上,AutoCad軟件是無(wú)法相比的。另外一個(gè)原因,在當前的企業(yè)中,打印機的使用日益普及,打印速度也日益加快,當多個(gè)用戶(hù)同時(shí)需要打印時(shí),可以通過(guò)高速的網(wǎng)絡(luò )打印機來(lái)輕松實(shí)現,在這一點(diǎn)上,使用Excel也具有一定的優(yōu)勢。

  2 自動(dòng)化技術(shù)

  Microsoft公司提供的自動(dòng)化技術(shù),簡(jiǎn)單的說(shuō),就是將某一個(gè)應用程序的功能(可能是一部分)當作一系列的對象來(lái)向其他的外部應用程序暴露(Expose),這個(gè)外部應用程序就可以使用這些對象,這個(gè)過(guò)程就被稱(chēng)為自動(dòng)化(Automation)。例如,Excel,我們可以將它的大部分功能當作一系列對象來(lái)加以暴露,然后在另外的應用程序中使用這些對象,這就是使用自動(dòng)化對象來(lái)調用Excel完成指定功能的關(guān)鍵所在。

  一個(gè)應用程序的可訪(fǎng)問(wèn)對象被稱(chēng)為對象模型(Object Model),如果能夠使用自動(dòng)化來(lái)操縱一個(gè)程序的對象模型就意味著(zhù)可以重復使用組件。例如,使用自動(dòng)化,利用Excel中已經(jīng)編寫(xiě)和測試好的代碼來(lái)進(jìn)行復雜的數學(xué)運算,這就省去了程序員親自動(dòng)手編寫(xiě)和調試復雜代碼的麻煩。

  暴露對象的程序被稱(chēng)為服務(wù)器(Servers),使用這些對象的程序被稱(chēng)為客戶(hù)(Clients)。在這里,我們把Excel當作自動(dòng)化服務(wù)器,把我們的PowerBuilder應用程序當作客戶(hù),這樣就可以通過(guò)自動(dòng)化技術(shù)來(lái)實(shí)現特定的表格生成和打印功能。

  在大多數的Office軟件中都包含一個(gè)Application對象,Excel也不例外,這個(gè)對象是Excel對象模式中的基礎對象,它包含了許許多多的成員(Member),但是在這里,我們只需要使用到其中的一部分。

  3 在PowerBuilder中使用自動(dòng)化技術(shù)

  PowerBuider是Sybase公司推出的一種高級數據庫應用程序開(kāi)發(fā)環(huán)境,在這個(gè)環(huán)境中開(kāi)發(fā)數據庫應用程序,使用其專(zhuān)利技術(shù)——DataWindow,可以很輕松的開(kāi)發(fā)出非常專(zhuān)業(yè)的數據庫應用程序。此外,PowerBuilder還支持多種數據庫,能夠很輕松的與目前流行的MS SQL Server、Oracle等企業(yè)級數據庫建立連接,處理各種事務(wù)。

  PowerBuilder中的編程語(yǔ)言被稱(chēng)為腳本(Script),實(shí)際上,使用PowerBuilder編寫(xiě)的程序也是事件驅動(dòng),在界面設計上也完全做到了“所見(jiàn)即所得”,并完全使用面向對象的編程思想,它還提供了對OLE、DDE、Automation等技術(shù)的支持,下面就來(lái)說(shuō)明如何在PowerBuilder中使用自動(dòng)化技術(shù)。

  首先,聲明一個(gè)OLE對象,如下:

  OLEObject OLE_MyExcel

  其次,創(chuàng )建該OLE對象,如下:

  OLE_MyExcel =Create OLEObject

  然后,使用PowerBuilder中的ConnectToNewObject函數來(lái)創(chuàng )建一個(gè)新的OLE對象,并且連接到該對象上,如下:

  OLE_MyExcel. ConnectToNewObject ("excel.Application")

  調用該函數時(shí),如果成功的話(huà),返回值是0,否則就意味著(zhù)調用失敗。

  到此,自動(dòng)化的準備工作已經(jīng)完成,下面是具體的操作過(guò)程。

  4 處理和打印表格

  在調用Excel時(shí),首先需要解決的一個(gè)問(wèn)題是是否讓Excel可見(jiàn),即是否為后臺操作。這個(gè)問(wèn)題可以簡(jiǎn)單的通過(guò)設置Visible屬性加以控制,如果希望Excel后臺運行,可以簡(jiǎn)單的編寫(xiě)如下語(yǔ)句:

  OLE_MyExcel.visible=false

  然后是打開(kāi)指定的XLS文件,具體的語(yǔ)句如下:

  OLE_MyExcel.Application.Workbooks.Open ("d:excel-example.xls")

  要操縱數據列表中的數據單元,就必須對ActiveCell對象進(jìn)行操縱,該對象是Application對象中一項屬性。將數據輸入到一個(gè)數據單元包括兩個(gè)步驟:第一是選擇一個(gè)數據單元,第二是將數據傳遞給它。選擇一個(gè)數據單元通過(guò)調用Range對象的Select()方法就可以完成,Range對象是用來(lái)選擇一個(gè)或多個(gè)數據單元的。Select()方法需要起始的行數、列數和結束的行數、列數來(lái)確定所選擇的數據單元。如果只選擇一個(gè)單獨的數據單元,就可以忽略結束的行、列數。當范圍被設定以后,將數據傳遞給ActiveCell對象(引用了被Range對象指定的數據單元)的FormulaR1C1屬性。如下:

  OLE_MyExcel.Range("c10").Select()

  OLE_MyExcel.ActiveCell.FormulaR1C1 = sle_2.text //Sle_2為一個(gè)靜態(tài)文本框控件

  OLE_MyExcel.Range("J10").Select()

  ……

  如果希望得到一系列數值的和,則需要首先使用Select()方法來(lái)指定需要求和的Cell的范圍,然后指定存放和的Cell位置,最后調用SUM方法即可,如下:

  OLE_MyExcel.Range(“A1:D1”).Select()

  OLE_MyExcel.Range(“E1”).Activate()

  OLE_MyExcel.ActiveCell.FormulaR1C1 = “=SUM(RC[-4]:RC[-1])”

  當然還可以進(jìn)行其他方面的設置,例如把字體設置為粗體(Bold),則可以編寫(xiě)如下代碼:

  OLE_MyExcel.Range(“A1:E1”).Select()

  OLE_MyExcel.Selection.Font.Bold = True

  至于其他的設置可以參考相關(guān)書(shū)籍。

  至于表格的打印,則是簡(jiǎn)單的調用PrintOut()方法即可,但是需要首先指定打印的范圍,如下是打印名為“Sheet1”的WorkSheet的代碼:

  OLE_MyExcel.Worksheets("sheet1").Activate()

  OLE_MyExcel.ActiveSheet.PrintOut()

  接下來(lái)是關(guān)于對XLS文件進(jìn)行了改動(dòng)以后,在關(guān)閉該文件時(shí)是否需要向用戶(hù)提出警告。這個(gè)問(wèn)題只需要簡(jiǎn)單的對OLE_MyExcel.Application.DisplayAlerts屬性進(jìn)行設置即可,為T(mén)rue時(shí)彈出警告框,為False時(shí)不彈出警告框,保存所作的修改。

  最后一步,在作完所有工作以后,需要關(guān)閉自動(dòng)化對象,撤銷(xiāo)與自動(dòng)化服務(wù)器的連接,銷(xiāo)毀OLE對象,因為使用自動(dòng)化程序,尤其是Word或Excel這樣的Office程序,所消耗的系統資源是很龐大的,因此在每次工作完成之后,需要釋放這部分系統資源。如下:

  OLE_MyExcel.Application.quit()

  OLE_MyExcel.DisConnectObject()

  destroy OLE_MyExcel

  5 結束語(yǔ)

  在使用了自動(dòng)化技術(shù)以后,完滿(mǎn)的解決了原來(lái)的表格處理問(wèn)題,可以非常方便的對各種表格進(jìn)行小批量的處理與打印,非常靈活。如果能夠與企業(yè)的數據庫結合起來(lái),通過(guò)外部程序將數據成批輸入,亦可解決大批量數據輸出的問(wèn)題,不失為一條好的解決方案。

  在實(shí)際應用中,通過(guò)與企業(yè)數據庫相結合,使用此方法自動(dòng)填寫(xiě)了包含了大量數據的XLS文件,并可以通過(guò)打印機打印出來(lái).

  參考資料

  [1]James Foxall 《Teaching yourself Visual Basic .NET in 24 hours》 Sams 11/2001

  [2]梁科山,徐曉軍,劉濤 《某企業(yè)的PDM系統設計方案書(shū)》

  [3]PowerBuilder幫助文件

【利用自動(dòng)化技術(shù)打印excel表格論文】相關(guān)文章:

excel表格高級篩選07-12

畢業(yè)論文中怎樣利用Excel繪制柱形圖07-10

如何用Excel制作表格07-03

excel制作表格的步驟教程04-03

焊接技術(shù)及自動(dòng)化論文07-02

有關(guān)自動(dòng)化技術(shù)的論文07-03

利用信息技術(shù)進(jìn)行幼兒論文06-26

求全套手工做賬EXCEL表格07-09

excel表格中工齡工資的公式07-14

excel表格的35招必學(xué)秘技07-03

99久久精品免费看国产一区二区三区|baoyu135国产精品t|40分钟97精品国产最大网站|久久综合丝袜日本网|欧美videosdesexo肥婆