創建workbook及相關操作


通過openpyxl模塊創建workbook時,無需本地事先創建好excel,它會直接創建一個新的excel文件

創建workbook時,會至少包含一個worksheet

 注意:openpyxl模塊只支持.xlsx,.xlsm,.xltx,.xltm格式

使用示例:

導入openpyxl模塊的Workbook類

from openpyxl import Workbook 

 

創建workbook,並獲取workbook中第一個sheet

wb = Workbook() #創建一個workbook
ws = wb.active #獲取當前workbook的第一個worksheet,默認的索引值是0,它是可以改變的

 

創建worksheet

ws1 = wb.create_sheet() #在當前workbook的結尾處追加一個新的worksheet,名稱是自動賦值的,如Sheet1,Sheet2,....
ws2 = wb.create_sheet(0) #在當前workbook的指定索引處追加一個新的worksheet,名稱是自動賦值的,如Sheet1,Sheet2,....
ws1.title = "New Title1"  #指定sheet名稱為New Title1
ws2.title = "New Title2"  #指定sheet名稱為New Title2

ws3 = wb.create_sheet("MyNewSheet1") #在當前workbook的結尾追加一個新的worksheet,並指定sheet名稱為MyNewSheet1
ws4 = wb.create_sheet("MyNewSheet2", 0) #在當前workbook的指定索引處追加一個新的worksheet,並指定sheet名稱為MyNewSheet2

 

通過worksheet名稱獲取worksheet

ws5 = wb["MyNewSheet2"]
print(wb.sheetnames) #以列表形式輸出該workbook中所有的worksheet
for sheet in wb:
    print(sheet.title) #循環輸出workbook的各個worksheet的名稱

 

設定worksheet的顏色

ws.sheet_properties.tabColor = "1072BA"  #設定worksheet的顏色,設定值為RRGGBB顏色代碼

 

拷貝當前worksheet

source = wb.active
target = wb.copy_worksheet(source) 

    注意:

  1) 不支持將一個worksheet從一個workbook拷貝至另一個workbook
  2) 如果當前workbook是read-only或者write-only模式,則也不支持worksheet的拷貝
  3) 拷貝worksheet時,不是所有的worksheet的內容都會被拷貝,具體可拷貝內容如下:
      a) 單元格,包括里面的值,樣式,鏈接和注釋式可以被拷貝
      b) 某些worksheet的屬性,如維度,格式及屬性可以被拷貝
      c) 以上其他的workbook和worksheet屬性不會被拷貝,如圖片,圖形等

 

將當前設置保存到本地文件

wb.save("sample.xlsx") #以上處理都是在內存中的,save表示將最終的結果導出到本地文件上

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM