簡體   English   中英

如何使用 openpyxl 讀取工作表的標簽顏色

[英]How to read the tab color of a worksheet with openpyxl

我一直在為 python 3.8.3 使用 openpyxl 模塊編寫腳本。 在我的腳本中,我使用了一個預先存在的 excel 工作簿,其中包含多張工作表。 此工作表來自另一個人,他們希望我只在以特定顏色着色的選項卡上運行腳本。 我一直在嘗試通過使用 sheet_properties 中的 tabColor 來識別哪些工作表具有指定的顏色,但這對我不起作用。 任何幫助表示贊賞! 這里

def excel_modifications(file_path, storage_path):
    initial_wb = load_workbook(file_path, data_only=True, read_only=True)
    for ws in initial_wb:
      if ws.sheet_properties.tabColor == "11217371":
          common_compression(ws, storage_path)

對於遇到與我類似問題的任何人,我都找到了解決方案。 sheet_properties.tabColor 使用的參數包含“rgb”參數和“主題”參數。 在我的例子中,我處理的工作簿中的工作簿選項卡由主題 colors 着色,而不是編寫 excel 表的人選擇的 rgb 值。 在我的工作簿上,作者使用默認主題 colors 中的 Accent 6 為他們的標簽着色。 所以對我來說,解決方案是尋找等於 6 的給定 sheet_properties.tabColor.theme 的索引,因為從零開始,我正在搜索的顏色是 excel 提供的列表中的第 9 個索引。

這是我解決上述問題的工作條件:

def excel_modifications(file_path, storage_path):
    initial_wb = load_workbook(file_path, data_only=True, read_only=True)
      for ws in initial_wb:
        if ws.sheet_properties.tabColor.theme == 6:
          common_compression(ws, storage_path)

這是 excel 中討論的口音列表的屏幕截圖: excel 中的示例口音列表

暫無
暫無

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

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