“python(或者其他什麼語言)操作excel”檔案,按是否依賴Excel,可以分為兩類。第一類,excel檔案只是用來儲存資料,python對它的操作只是讀和寫。這種時候,對檔案的操作不需要依賴Excel,你的機器上沒有excel也能執行。在這種場景下,csv,txt等Excel支援的文字檔案格式,都是很好的選擇。這種情況,所謂的"python讀寫excel檔案",實際上就是python讀寫文字檔案,無非是這個文字檔案是有一定格式的,找個csv的類庫處理能事半功倍。如果csv/txt太過簡單,檔案內需要多個worksheet,那麼可以儲存為xls/xlsx格式,對應的讀寫操作用樓上提到的xlrd和openpyxl。第二類,對檔案的操作不止讀寫資料,包含更多的其他操作,比如插入行列,設定字型顏色,等待。這時候檔案格式必然是excel only的格式(xls*)。對應的操作,其實最基礎的,是透過COM呼叫Excel的API,實際上VBA呼叫的也是這個東西。python,以及其他很多語言,都是支援COM的,在腳本里面獲取到了Excel.Application,就可以像在VBA裡面一樣寫Application.Workbooks(1).Worksheet(1)了。下面sample是ruby寫的,python應該也差不多。#引用COMrequire "win32ole"#連線一個已經開啟的ExcelxlApp = WIN32OLE.connect("Excel.Application")#接下去就和VBA的寫法沒什麼兩樣了wb = xlApp.activeWorkbook #獲取當前啟用的workbookws = wb.worksheets(1) #獲取第一個worksheetws.range("A1").value = "hello" #在sheet1的A1寫入“hello”
“python(或者其他什麼語言)操作excel”檔案,按是否依賴Excel,可以分為兩類。第一類,excel檔案只是用來儲存資料,python對它的操作只是讀和寫。這種時候,對檔案的操作不需要依賴Excel,你的機器上沒有excel也能執行。在這種場景下,csv,txt等Excel支援的文字檔案格式,都是很好的選擇。這種情況,所謂的"python讀寫excel檔案",實際上就是python讀寫文字檔案,無非是這個文字檔案是有一定格式的,找個csv的類庫處理能事半功倍。如果csv/txt太過簡單,檔案內需要多個worksheet,那麼可以儲存為xls/xlsx格式,對應的讀寫操作用樓上提到的xlrd和openpyxl。第二類,對檔案的操作不止讀寫資料,包含更多的其他操作,比如插入行列,設定字型顏色,等待。這時候檔案格式必然是excel only的格式(xls*)。對應的操作,其實最基礎的,是透過COM呼叫Excel的API,實際上VBA呼叫的也是這個東西。python,以及其他很多語言,都是支援COM的,在腳本里面獲取到了Excel.Application,就可以像在VBA裡面一樣寫Application.Workbooks(1).Worksheet(1)了。下面sample是ruby寫的,python應該也差不多。#引用COMrequire "win32ole"#連線一個已經開啟的ExcelxlApp = WIN32OLE.connect("Excel.Application")#接下去就和VBA的寫法沒什麼兩樣了wb = xlApp.activeWorkbook #獲取當前啟用的workbookws = wb.worksheets(1) #獲取第一個worksheetws.range("A1").value = "hello" #在sheet1的A1寫入“hello”