在Delphi中讀取Excel文件,使用CreateOleObject的方式挺討厭的,一直搞不定,輸出了文件之后,總會在系統(tǒng)中打開一個(gè)Excel,就算Quit也不行,一個(gè)程序中使用的多了,還不定搞出什么事情來。狠狠心找個(gè)其它的東西來代替,于是發(fā)現(xiàn)了XlsReadWriteII。
使用之后發(fā)現(xiàn)這個(gè)東西真不錯(cuò),簡單好用。不管是讀還是寫均輕松搞定。
直接添加對應(yīng)版本的.bpl文件(默認(rèn)安裝在C盤,參考路徑:C:\Users\Public\Documents\Embarcadero\Studio\15.0\Bpl\XLSRWII5_DXE7.bpl)和庫路徑(SrcXLS文件夾和子文件夾Obj)。
特點(diǎn):
用來讀取Excel,Access的控件
讀寫任何單元值
數(shù)字型、字符型、布爾型以及錯(cuò)誤型。但是你了解日期和時(shí)間型單元嗎?在Excel中沒有這樣的單元。Excel是和Delphi一樣的方式來存儲日期和時(shí)間的,即浮點(diǎn)型。那是什么制造了日期或時(shí)間值啦,是格式化。
完全支持公式。你可以使用和Excel一樣的函數(shù),也支持對外部工作簿引用的公式,你甚至可以從外部引用讀取結(jié)果。
與操作Delphi的TStringGrid一樣的方式操作單元格,或則通過給單元格命名,比如:”D7”
根據(jù)單元格的規(guī)則以字符串格式讀取單元值
根據(jù)你的需求格式化單元
格式化很簡單。通過獲取單元格,你就可以操作單元的格式屬性。例如:XLSReadWriteII.Sheet[n].Cell[Col,Row].FontSize := 12;
你也可以對域進(jìn)行格式化,比如設(shè)置邊框。
支持所有的Excel格式選項(xiàng)
合并單元格
操作所有的打印選項(xiàng)
選擇頁面大小,設(shè)置邊距
設(shè)置標(biāo)題和頁腳,包括格式碼。
定義打印區(qū)域
設(shè)置分頁符
XLSReadWriteII完全支持Unicode
所有的字符型都是寬字符型。你完全不必?fù)?dān)心非英語字符。
控件
你可以插入控件以及定義他們的源和目的單元
繪圖
插入所有種類的繪圖,從簡單的線條到AutoShapes
多行文本和文本框
創(chuàng)建和編輯文本框以及多行文本
圖表
創(chuàng)建和Excel中一樣選項(xiàng)的圖表
復(fù)制/移動/刪除
可以以Excel一樣的行為復(fù)制、移動和刪除單元
行列也可以像單元一樣復(fù)制和移動
支持工作簿之間的復(fù)制和移動
可以復(fù)制整個(gè)工作簿
使用命名的域/單元
你可以在你想要的任何地方命名
通過命名訪問單元格,例如:XLS.NameAsFloat['MyCell'] := 202.5;
支持指定、內(nèi)置的名稱
支持所有超鏈接類型
網(wǎng)頁和E-mail地址
本地文件
服務(wù)器文件
工作薄引用
加密文檔
你可以讀寫加密文件。條件是你需要知道文件的密碼。
計(jì)算
可計(jì)算單元以及整個(gè)工作薄
計(jì)算引擎將依據(jù)單元進(jìn)行計(jì)算。
可讀取引用的外部工作薄。這通過一個(gè)特殊的快速查詢程序進(jìn)行執(zhí)行
Rich Text單元
為了輕松地創(chuàng)建多字體格式的單元,單元可以以RTF格式讀寫
VBA宏
可以讀寫文件中的宏,使用XLSReadWriteII可以為控件比如:按鈕、組合框等添加宏
導(dǎo)入及導(dǎo)出
從下列導(dǎo)入數(shù)據(jù)…
Open Office Calc文檔
CSV文件以及其他可以自動識別分隔符、小數(shù)分隔符和文本引用字符的文本文件
HTML表格(<TABLE>標(biāo)簽)
數(shù)據(jù)庫
導(dǎo)出數(shù)據(jù)為…
CSV文件
HTML文件
其他
自動過濾
單元驗(yàn)證
有條件的格式
合并單元
PaintCell方法:將單元內(nèi)容渲染到TCanvas對象的
XLSReadWriteII包還包含下列組件:
從任何數(shù)據(jù)庫中導(dǎo)入數(shù)據(jù)到工作薄
工作薄導(dǎo)出為HTML文件