Извлечь цвет формы Excel лист с использованием Python - PullRequest
0 голосов
/ 08 апреля 2019

У меня есть требование, где я должен извлечь цвет ячейки (фон) из файла Excel, я сделал это в Perl, но мне нужно в Python.

Может ли кто-нибудь помочь мне вэто.

Ответы [ 2 ]

1 голос
/ 08 апреля 2019

Использование xlrd:

from xlrd import open_workbook
from webcolors import rgb_to_name

wb = open_workbook('cel_lis.xls', formatting_info=True)
sh = wb.sheet_by_name('Sheet1')


def getBGColor(book, sheet, row, col):
    xfx = sheet.cell_xf_index(row, col)
    xf = book.xf_list[xfx]
    bgx = xf.background.pattern_colour_index
    pattern_colour = book.colour_map[bgx]

    #Actually, despite the name, the background colour is not the background colour.
    #background_colour_index = xf.background.background_colour_index
    #background_colour = book.colour_map[background_colour_index]

    return pattern_colour

rgb_Col = getBGColor(wb, sh, 0, 0)
print("The RGB value of the cell is: {} which is equivalent to {}".format(rgb_Col, rgb_to_name(rgb_Col)))

OUTPUT

The RGB value of the cell is: (255, 0, 0) which is equivalent to red

Примечание:

Я использовал лист типа .xls с именем cel_lis.xls, имеющий его лист с именем Sheet1 с первой ячейкой A с фоном Red цвет. out

1 голос
/ 08 апреля 2019

Вы можете использовать библиотеку openpyxl, чтобы читать и получать то, что требуется из файла Excel.Вот ссылка для получения цвета Openpyxl стили

Вы можете использовать этот пример кода как

import openpyxl
wb = openpyxl.load_workbook('#filename', data_only=True)
sh = wb[Sheet1]  
sh['A1'].fill.start_color.index
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...