【正文】
這些對象可以包含自定義的屬性和方法。 將數(shù)組中的數(shù)據(jù)傳輸?shù)焦ぷ鞅碇?,?shù)據(jù)的開始位置是 A2 (A2).Resize(600, 4).Value = DataArray 在將數(shù)據(jù)輸入到 Excel里后,接下來要做的就是對生成的 Excel表格進(jìn)行調(diào)整。如圖: 圖 控件引用圖 在將數(shù)據(jù)讀取輸入到 Excel前,我們應(yīng)先將數(shù)據(jù)在文本框中顯示,以確定數(shù)據(jù)是否正確。 二維常數(shù)值數(shù)組, BIFF2BIFF5 : 表 47 二維常數(shù)值數(shù)組, BIFF8: 表 48 22 5 程序設(shè)計 在這里,我將以一個全站儀測量數(shù)據(jù)為數(shù)據(jù)源,用上述三種方法 實(shí)現(xiàn)將文本文件 導(dǎo)出生成 Excel 文件。這樣的結(jié)果是用四個不同的方法來存儲字符串。該字符串不是零終止。它給出了一個規(guī)格和每種類型的字節(jié)間的斷開。因此,記錄指定工作表的單元格 C1 中包含一個整數(shù) 57。( length)長度字節(jié)的記錄表明,記錄體是 9個字節(jié)。單元格 C240 是在第 3 列和第 240 行。最重要的(低)字節(jié)的操作碼是字節(jié) 0 和最重要的(高)字節(jié) 的操作碼是 字節(jié) 1。 Microsoft Excel 是一個流行的電子表格。 Cell 組件的方法 Cell組件的方法包括打印預(yù)覽方法、表頁方法、表格方法、單元格方法、繪制方法、公式方法、記錄集和數(shù)據(jù)庫方法等。 (5)函數(shù)及自定義函數(shù) Cell提供一些常用函數(shù),然而 Cell更注重自定義函數(shù)功能,采用 C, VB, VBScript等語言皆可以編制自定義函數(shù)。采用 Cell組件將使你的軟件在打印上傲視群雄,徹底忘掉打印所帶來的煩惱。非專業(yè)開發(fā)人員采用 Cell組件將可以開發(fā)出專業(yè)的應(yīng)用軟件,而專業(yè)的開發(fā)人員采用 Cell組件更是如虎添翼,可以更快地進(jìn)行應(yīng)用軟件開發(fā)。 利用成熟的 Cell組件,來完成數(shù)據(jù)導(dǎo)入,輸出生成 Excel過程,只需要調(diào)出 Cell組件本身的功能即可 ,減輕了編程壓力。 VB讀寫 Excel表 VB本身的自動化功能可以讀寫 Excel表,其方法如下: (1)在工程中引用 Microsoft Excel類型庫: 從“工程”菜單中選擇“引用”欄;選擇Microsoft Excel Object Library(Exce2020)然后選擇“確定”。顯示了 Application對象中包含的主要對象與集合。例如 VB的窗體就能起到 OLE 包容器的作用,通過處理窗體的 OLE Drag Over和 OLE Drag Drop事 11 件過程,可將圖形、工作表、聲音等 OLE對象直接拖放到窗體中,有了這種技術(shù)的支持,VB的程序員就可以在自己的程序中使用各種應(yīng)用程序功能的接口,并將它們集成顯示在窗口中。 VB中經(jīng)常用到的有 OLE可視化編輯、復(fù)合文檔、拖動、剪貼板和 OLE自動化等服務(wù)。 如果應(yīng)用程序從已存在的源文件中創(chuàng)建嵌入對象 , 也要使用 OLE文件。只有在 OLE應(yīng)用程序中 激活 OLE對象才能對其進(jìn)行編輯。 9 應(yīng)用 OLE 的基本要求 OLE作為一個部分對象模型 , 應(yīng)該滿足下列基本要求 : (1)對象 模型應(yīng)是一種被許多應(yīng)用所證明的技術(shù)而不僅僅是紙面上的技術(shù)說明 ; (2)對象模型應(yīng)能滿足在同一機(jī)器上或通過網(wǎng)絡(luò)在不同機(jī)器上、在不同應(yīng)用中軟件部件的無縫連接運(yùn)行; (3)對象模型要能提供安全機(jī)制 ,即部件可以安全成功的集成在對象系統(tǒng)之中 ; (4)對象模型要滿足開放交叉平臺的互操作性 ; (5)對象模型支持分布式應(yīng)用環(huán)境 ; (6)對象模型提供在操作系統(tǒng)與應(yīng)用之間的無縫集成。 (3)OLE文檔 : 完善了早期的混合文檔功能 , 不僅支持簡單鏈接和嵌入 , 還支持在位激活、拖放等功能。在數(shù)據(jù)庫應(yīng)用方面,增加了 ADO 功能,不僅可以支持本地數(shù)據(jù)庫,還 可以連接遠(yuǎn)程數(shù)據(jù)服務(wù)器,大大增加了數(shù)據(jù)處理能力。 VB 是微軟公司的一種通用程序設(shè)計語言,包含在 Microsoft Excel、 Microsoft Access等眾多 Windows 應(yīng)用軟件種的 VBA 都使用 VB 語言,以供用戶二次開發(fā);目前制作網(wǎng)頁使用較多的 VBScript 腳本語言也是 VB 的子集。如果記錄數(shù)據(jù)的大小超過當(dāng)前限制,將增加一個或多個連續(xù)記錄。這個流的名稱在復(fù)合文檔文件是“ Book”為 BIFF5工作薄,以及“ Workbook”為 BIFF8 工作 簿。唯一的例外是 BIFF5— BIFF8 工作簿文件,這些文件通常存儲在 復(fù)合 文檔 文件中 (見下文)。 基本規(guī)定 : Excel 里的 工作域文件實(shí)際上是一個工作簿文件和工作 表 文件 的組合 :它可能包含 對 工作 表 文件,以及 對嵌入式表 加載 到 現(xiàn)有的工作文件 的鏈接 。每個工作簿文件中包含的全局設(shè)置的工作 薄 ,被稱為全局 工作薄 。 研究目的 對于測量數(shù)據(jù)的后期處理,關(guān)鍵在于將數(shù)據(jù)輸入到 Excel文件中去,這樣才能發(fā)揮Excel的強(qiáng)大的數(shù)據(jù)處理能力。但是,高昂的價格和專業(yè)的使用方法是運(yùn)用這些軟件的最大障礙,而且一些軟件在使用上很不方便。 不同的方案為我們提供了不同的設(shè)計理念,為我們對數(shù)據(jù)的輸入有了不同的選擇。論文題目: Excel 文件數(shù)據(jù)格式解析及在工程測量的應(yīng)用 專 業(yè):測繪工程 本 科 生:孔利江 簽名 : 指導(dǎo)教師:朱學(xué)軍 簽名 : 摘 要 Excel 是個應(yīng)用面很廣的數(shù)據(jù)處理軟件,有強(qiáng)大的數(shù)據(jù)處理能力,也有著強(qiáng)大的表格處理能力。 關(guān)鍵 詞 : OLE, VB, Cell 組件, Excel,文件格式轉(zhuǎn)換, BIFF Subject: Excel format file data analysis and measurement applications in engineering Specialty: Geodetic engineering Name: Kong Lijiang Signature: Instructor: Zhu Xuejun Signature: Abstract Excel is an application of a wide range of dataprocessing software that has a strong data processing ability and a strong ability to form processing. For our measurements, the most plicated one is the data processing, which requires the data into Excel file to deal with. We need to know how fast the data into Excel in. Each input data have to open Excel and then input to a stepbystep operation, it is cumbersome. We hope that through a simple process the data directly into Excel files so that we continue to deal with. This paper studies three kinds of methods to generate Excel documents and procedures used to develop VB text data automatically into Excel documents. There are three way: the use of OLE technology to export the data to Excel, to generate Excel documents。因此,需要一種能被廣大測量人員接受,并且易學(xué)易懂便于操作的測量數(shù)據(jù)處理平臺。由于測量中前期生成的數(shù)據(jù)大多保存在文本文件中,如全站儀數(shù)據(jù),其生成時以 .txt形式存儲的。默認(rèn)的文件擴(kuò)展名的工作簿文件是 “ XLS” 。 該工作域文件載有完整數(shù)據(jù)的 所有 嵌入式表。如果這些文件都儲存 在 流文件 中 , 則 整個文件 僅 包括“ book”流 (BIFF5)或者“ workbook”流( BIFF8)。如果 BIFF5— BIFF8 工作簿文件存儲為流文件,整個流被稱為 工作薄流。在連續(xù)記錄當(dāng)中,此前 的紀(jì)錄 不會被改變 。 利用 VB 的數(shù)據(jù)訪問特性,用戶可以對包括 Microsoft SQL Server 和其他企 業(yè)數(shù)據(jù)庫在內(nèi)的大部分?jǐn)?shù)據(jù)庫格式創(chuàng)建數(shù)據(jù)庫和前端應(yīng)用程序,以及可調(diào)整的服務(wù)器端部件。 8 4 生成 Excel 文件 的方法及原理 利用 OLE 技術(shù),生成 Excel 文件 利用 OLE技術(shù) , 可以在程序中直接控制 Excel應(yīng)用程序 , 將數(shù)據(jù)直接輸入到 Excel中 ,產(chǎn)生工作簿 , 實(shí)現(xiàn)存儲和打印 , 而且還可以對生成的 Excel表格進(jìn)行詳細(xì)的格式控制 , 生成滿足用戶要求的復(fù)雜報表 , 生成后的 Excel文件 還可以利用 Excel的強(qiáng)大功能進(jìn)行二次修改。 OLE 是一個系統(tǒng) ,它可以使應(yīng)用程序通過數(shù)據(jù)鏈接和數(shù)據(jù)嵌入來更容易地共享數(shù)據(jù)。 COM /OLE 2. 0 是被證明了的開放技術(shù) ,能滿足上述全部要求。嵌入的 OLE對象不需要保存在文件中 , 所有數(shù)據(jù)都在應(yīng)用程序中 , 這就確保了 OLE數(shù)據(jù)不會被偶然地刪除或修改。值得注意的是 OLE文件只能為鏈接對象所定義 , 而對于嵌入對象 ,只需定義 OLE類。OLE有 4種基本的應(yīng)用:對象鏈接( Object Link)、對象嵌入( Object Embed)、 OLE自動化( OLE automation)和 OLE控件。我們還可使用 VB中的 OLE控 件,通過加入此控件,適當(dāng)改變該控件的屬性,就可用一些 VB中支持 OLE的方法在程序中方便地建立鏈接式或嵌入式 OLE對象,如可用方法: Create Embed:創(chuàng)建嵌入式的 OLE對象 ; Create Link:創(chuàng)建鏈接式 OLE對象 。 Workbooks對象是工作簿集合對象 , 表示 ,Workbook對象則表示其中的某個指定的工作簿。表示在工程中要引用 Excel類型庫。 Cell組件 CELL是新一代的 B\S結(jié)構(gòu)報表工具軟件,它具有較強(qiáng)的功能,它能較好地解決軟件開發(fā)人員報表制作中遇到的問題,提高開發(fā)效率。 Cell插件具有與 Cell組件類似的功能,但與 Cell組件不同, Cell插件用于開發(fā) Web應(yīng)用。 (2)別具一格的選擇界面 Cell的第一感覺即與其他表格不同,那就是它的灰色的選擇區(qū)域。自定義函數(shù)可以無限制次數(shù)的嵌套。 (1)SetCellString(Col As Long, Row As Long, Sheet As Long, Str As String) SetCellString方法用來設(shè)置指定單元格的字符串 (2)MoveToCell(Col As Long, Row As Long) MoveToCell將焦點(diǎn)移動到指定單元格上 (3)SelectRange(Col As Long, Row As Long, Col2 As Long, Row2 As Long) SelectRange方法用來在表格中選擇一個指定的區(qū)域 (4)SetCellAlign(Col As Long, Row As Long, Sheet As Long, Para As Long) SetCellAlign 方法用來設(shè)置指定單元格的對齊方式 (5)SetCellNumType(Col As Long, Row As Long, Sheet As Long, Para As Long) SetCellNumType用來設(shè)置單元格的數(shù)值格式類型 (6)SetButtonCell(Col As Long, Row As Long, Sheet As Long) 16 SetButtonCell用來設(shè)置單元格中的按鈕 (7)SetCols(Cols As Long, Sheetingdex As Long) SetCols方法用來設(shè)置某頁的列數(shù) (8)SetRows(Rows As Long, Sheetindex As Long) SetRows方法用來設(shè)置某頁的行數(shù) (9)Void PrintSheet(Long Withdlg, Long Valuesheet) PrintSheet方法用來設(shè)置打印 (10)Void PrintSetTopTitle(Long StartRow, Long EndRow) PrintSetTopTitle方法設(shè)置表頭標(biāo)題的范圍,該標(biāo)題將會出現(xiàn)在 每個打印頁上。它使用的文件格式叫做 BIFF(二進(jìn)制文件格式)。同樣,低字節(jié)的記錄長度字段字節(jié) 18 是 2 和高字 的記錄長度字段 字節(jié) 是 3。這種單元格的確定方式讓人更容 易理解。行( Row) 0 在工作表中對應(yīng)行 1。 19 標(biāo)準(zhǔn)文件記錄順序