使用tcom控制Excel
最近因為工作的關係需要分析Excel工作表的內容,一直在考慮要用VBA好還是用Tcl+tcom好,掙紮了好久最後還是選了Tcl+tcom,採用這種方法是因為....我是Tcl的熱愛者!!哈~。接下來的內容是操作Excel時常遇到的問題,我把它們都部落格下來給大家參考。[@more@]
E08.1 開啟Excel檔案並取得控制儲存格的COM物件
用tcom開啟Excel檔案是很容易的一件事,慣用的程式片段如下:
set excel [::tcom::ref createobj Excel.Application]
$excel Visible 1
set workbooks [$excel Workbooks]
set workbook [$workbooks Open "要開啟的Excel檔案"]
當開啟成功,下一步通常是要取得Sheet1 ~ SheetX 的COM物件參考 :
set worksheets [$workbook Worksheets]
set sheet1 [$worksheets Item [expr 1]]
set sheet2 [$worksheets Item [expr 2]]
取得了工作表的COM物件參考後,接下來只要再取得每個工作表的「儲存格集合」的COM物件參考, 就可以隨心所欲的操控每一個儲存格了,程式片斷如下 :
set cells1 [$sheet1 Cells]
set cells2 [$sheet2 Cells]
E08.2 設定及取得指定儲存格的資料
在開始之前,我們要先知道Excel的儲存格中「顯示的資料」及「原始的資料」很有可能是不一樣的,時常「顯示的資料」是「原始的資料」經過格式化的結果,如果說你要取出某個儲存格中原始的資料,可以這麼做 :
set R [expr 1]
set C "A"
set R1C1 [[$cells1 Item $R $C] Value]
上面的程式中cells1 Item 後面可以給兩個引數,分別用來指定儲存格集合中的第「R」列,第「C」行,當命令執行成功後,會回傳對應儲存格的COM物件參考。我們透過儲存格物件的Value屬性把值取出來。
如果你要取出的是格式化後的內容,也就是顯示在儲存格上的內容,要改用Text屬性,像這樣 :
puts [[$cells1 Item $R $C] Text]
如果你想要的是設定儲存格的內容,可以這樣做 :
$cells1 Item $R $C "要設定給儲存格的值"
E08.3 變更儲存格的背景/前景顏色
如果要更改儲存格的背景顏色,則需要使用到儲存格Interior屬性的COM物件參考,使用的方法如下:
set interior [[$cell1 Item $R $C] Interior]
$interior Color [expr 0x0000FF]
上面的例子透過Interior物件把儲存格的背景設為紅色(0xBBGGRR)。 若要改變的是前景顏色,也就是文字的顏色要改用Font屬性的COM物件參考,範例如下 :
set fnt [[$cell1 Item $R $C] Font]
$fnt Color [expr 0xFF0000]
$fnt Bold [expr 1]
上面的例子把文字的顏色設定為藍色,也順道把文字設定為粗體了。 其它常用的功能還有,儲存格文字對齊的功能,像這樣把文字水平及垂直都置中 :
[$cells1 Item $R $C] HorizontalAlignment [expr -4108]
[$cells1 Item $R $C] VerticalAlignment [expr -4108]
如果不瞭解上面的設定值,不要緊 ~ 請自己看看就知道了!!
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/459749/viewspace-1058351/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- tcom 操作word表格
- 在VFP中全面控制ExcelExcel
- C++ 控制檯讀寫excelC++Excel
- 我的使用createremotethread控制excel右鍵的源程式 (轉)REMthreadExcel
- Excel VBA - 控制元件與使用者窗體 及 常用函式Excel控制元件函式
- Excel 使用技巧Excel
- Excel使用技巧Excel
- Excel教程——excel如何使用條件格式Excel
- Excel使用總結Excel
- excel 使用部落格Excel
- excel - SUMIF的使用Excel
- 使用DevExpress匯出GridControl控制元件資料到excel檔案devExpress控制元件Excel
- ava 新增、刪除Excel表單控制元件Excel控制元件
- django下載excel,使用django-excel外掛DjangoExcel
- 新版 Laravel Excel maatwebsite/excel 3.* 使用說明LaravelExcelWeb
- Laravel-Excel3.0 使用LaravelExcel
- Laravel Excel 基礎使用LaravelExcel
- java使用poi生成excelJavaExcel
- 使用Java操作Excel表格JavaExcel
- (新手)使用pandas操作EXCELExcel
- Excel宏的使用教程Excel
- 使用EPPLUS操作EXcelExcel
- excel使用大全_轉載Excel
- 使用 Laravel-Excel 和流的方法匯出 ExcelLaravelExcel
- Excel--如何使用EXCEL連續列印快遞單Excel
- Java 獲取Excel中的表單控制元件JavaExcel控制元件
- Go 使用反射匯出 ExcelGo反射Excel
- 使用 C++ 讀寫 ExcelC++Excel
- 使用WeihanLi.Npoi操作ExcelExcel
- 使用NPOI讀寫Excel、WordExcel
- Excel使用技巧大全(超全)Excel
- 使用Python在Excel畫畫PythonExcel
- 如何使用Excel傳送郵件?Excel
- 使用Excel高效處理資料Excel
- 使用Excel的2個檢視Excel
- Laravel 中使用 Laravel-Excel 美化LaravelExcel
- 大資料使用Excel匯出大資料Excel
- 使用phpoffice/phpspreadsheet實現載入excel模板生成excelPHPExcel