Python啟動Excel

來源:互聯網
上載者:User

標籤:python   excel   win32com   

通過簡單的執行個體實現Python與Excel程式實現互動控制。

需要安裝pywin32,根據自己的實際情況選擇下載版本

引入組件

import win32com.client, win32process

開始啟動Excel

win32com.client.Dispatch(‘Excel.Application‘):啟動Excel進程,如果系統記憶體中存在Excel進程則直接使用現有的進程不會新增

win32com.client.DispatchEx(‘Excel.Application‘):啟動一個新的Excel進程

win32com.client.gencache.EnsureDispatch(‘Excel.Application‘):和第一情況一樣,但是會檢測是否存在快取檔案。產生常量快取檔案便於調用程式的常量參數如:win32com.client.constants.xlCalculationManual等。一旦緩衝產生,三種方式都可以調用常量參數

快取檔案的目錄:

import osprint os.path.join(win32com.__gen_path__, str(win32com.client.gencache.GetClassForProgID(‘Excel.Application‘)).split(‘.‘)[2])

這裡測試我們選擇案頭互動的方式控制已開啟的空白活頁簿

xlApp = win32com.client.gencache.EnsureDispatch(‘Excel.Application‘)print (xlApp.Version, xlApp.Caption)

擷取Excel進程Id

Pid = win32process.GetWindowThreadProcessId(xlApp.Hwnd)[1]print Pid

控制使用中工作表

Sht = xlApp.ActiveWorkbook.ActiveSheetprint Sht.Nameimport datetimeSht.Name = datetime.datetime.today().strftime(‘%Y%m%d‘)print Sht.Name

儲存格讀寫操作

1. 九九乘法表

Sht.Range(Sht.Cells(1,1), Sht.Cells(9,9)).Formula = ‘=IF(COLUMN()>ROW(),"",CONCATENATE(COLUMN(),"x",ROW(),"=",COLUMN()*ROW()))‘

2. 批量讀取

print Sht.Range(Sht.Cells(1,1), Sht.Cells(9,9)).Value

3. 簡單瞭解Value、Value2、Text三者的區別

A10 = Sht.Range(‘A10‘)A10.Value = datetime.datetime.today()print (A10.Value, A10.Value2, A10.Text)

650) this.width=650;" src="http://s3.51cto.com/wyfs02/M01/5C/02/wKiom1UY10eR_seZAAboRMVllgI436.jpg" title="PythonExcel20150330-1.png" alt="wKiom1UY10eR_seZAAboRMVllgI436.jpg" />

(未完)

本文出自 “筆記” 部落格,請務必保留此出處http://indie.blog.51cto.com/2806716/1626378

Python啟動Excel

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.