簡體   English   中英

openpyxl - 將值和 styles 從一個范圍復制/粘貼到另一個范圍

[英]openpyxl - copy/paste values and styles from one range to another

我正在使用 openpyxl 創建一個自動的每日報告。 兩個問題:

  1. 是否可以在一個語句中將值從一個范圍復制到另一個范圍,例如,

ws['A2':'C2'].values = ws['A1':'C1'].values

當然,這會產生AttributeError: 'tuple' object has no attribute 'values' ,但類似這些。 如果沒有,最有效的循環方式是什么?

  1. 同樣的問題,但適用於單元格 styles。 有沒有辦法一次將命名樣式應用於整個單元格范圍? 如果沒有,最好的方法是循環它?

我知道在 Stack Overflow 歷史中有一些與這些問題相關的答案,但大多數都已過時,並且許多使用過時的語法。

我的日常報告也非常依賴 openpyxl。

#1。 我認為這是基本的 python 語法之一。

ws['A2'].value, ws['C2'].value = ws['A1'].value, ws['C1'].value

#2。 我使用循環來設置一系列單元格的樣式,也可以包含值。

from openpyxl import Workbook
from openpyxl.styles import Font

wb = Workbook()
ws = wb.active

cell_reference = {
    "A1": "Date",
    "B1": "Description",
    "C1": "Debit",
    "D1": "Credit"
}

for ref, value in cell_reference.items():
    cell = ws[ref]
    cell.value = value
    cell.font = Font('Arial', bold=True)

wb.save('Sample.xlsx')
wb.close()

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM