@Panda_Code
Сognizer

Как закрасить ячейку в таблице excel при записи данных?

Добрый день!
Подскажите пожалуйста, как мне закрасить определенную ячейку при записи?

def to_xlsx(vacancy_list: list) -> 'excel':
    workbook = xlsxwriter.Workbook('vacancy.xlsx')
    worksheet = workbook.add_worksheet()
    # задаем цвет фона ячейки
    cell_format = workbook.add_format()
    cell_format.set_bg_color('gray')
    cell = 1
    cell_format_num = 1
    for job_cards in vacancy_list:
        for title in job_cards:
            worksheet.write(f'A{cell}', title, cell_format, )  # будет закрашивать каждую ячейку
            # worksheet.write(f'A{cell_format_num}', title, cell_format,) - закрасит 1 ячейку
            worksheet.write(f'B{cell}', job_cards[title],)
            cell += 1
            # надо закрасить каждую седьмую ячейку, начиная с 1
            cell_format_num += 6
    workbook.close()

Пример, как должно получиться: 5f3a67ab88936580469217.jpeg
  • Вопрос задан
  • 1529 просмотров
Решения вопроса 1
@Panda_Code Автор вопроса
Сognizer
Вопрос решается следующим образом:
cell = 1
with xlsxwriter.Workbook('vacancy.xlsx') as workbook:
    worksheet = workbook.add_worksheet()
    data_format = workbook.add_format({'bg_color': '#FFC7CE'})
    for item in range(len(jobs_cards)):
        for key, value in (jobs_cards[item].items()):
            worksheet.write(f'A{cell}', key)
            worksheet.write(f'B{cell}', value)
            cell += 1
        for row in range(0, 13, 6):
            worksheet.set_row(row, cell_format=data_format)
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы