Форум программистов, компьютерный форум, киберфорум
Python для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.60/30: Рейтинг темы: голосов - 30, средняя оценка - 4.60
0 / 0 / 0
Регистрация: 05.09.2017
Сообщений: 34

Условное форматирование ячеек в XLSX

09.06.2022, 15:15. Показов 6906. Ответов 22

Студворк — интернет-сервис помощи студентам
Здравствуйте!
Нужно пройти по ячейкам на листе Excel, провести поиск подстроки в значениях ячеек и подкрасить цветом найденную подстроку в этих ячейках. В идеале с помощью openpyxl. Я могу это сделать с xlwt (пример), но, как я понял, он работает только с XLS, я у меня XLSX.
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
09.06.2022, 15:15
Ответы с готовыми решениями:

Условное форматирование ячеек
Ребята, подскажите. Есть в Excel такая возможность - применить к определённому диапазону условное форматирование. Т. е., например, если в...

Условное форматирование ячеек Excel
Доброй ночи всем! Приложение выводит данные из таблицы StingGrid в Excel. Необходимо выделить цветом все ячейки, текст которых содержит...

Условное форматирование диапазона ячеек
Всем доброго дня! может кто знает есть столбец допустим G в него вносятся числовые значения можно ли сделать так чтобы допустим при...

22
1712 / 579 / 76
Регистрация: 10.04.2009
Сообщений: 9,318
09.06.2022, 15:31
https://tokmakov.msk.ru/blog/item/71
0
0 / 0 / 0
Регистрация: 05.09.2017
Сообщений: 34
09.06.2022, 15:36  [ТС]
Благодарю. Уточню - надо подкрасить только искомую подстроку - т.е. в одной ячейке будет текст разного стиля.
Примерно так: | красный |
0
1712 / 579 / 76
Регистрация: 10.04.2009
Сообщений: 9,318
09.06.2022, 15:38
Цитата Сообщение от sazurov Посмотреть сообщение
Примерно так: | красный |
не в курсе, но когда в теме будет ответ-перепишу в тетрадку))
0
213 / 109 / 46
Регистрация: 12.12.2016
Сообщений: 399
09.06.2022, 15:41
попробуй https://xlsxwriter.readthedocs.io/

Python
1
2
3
4
5
6
7
8
9
workbook = xlsxwriter.Workbook('test.xlsx')
worksheet = workbook.add_worksheet()
green = workbook.add_format({'color': 'green'})
bold_red = workbook.add_format({'bold': True, 'color': 'red'})
worksheet.write_rich_string('A1', green,
                            'hello ',
                            bold_red, 'this is bold_red', # style
                            ' and default string')
workbook.close()
1
1712 / 579 / 76
Регистрация: 10.04.2009
Сообщений: 9,318
09.06.2022, 15:42
Цитата Сообщение от New Life Посмотреть сообщение
Значение в ячейке можно подкрасить в какой-то один цвет
аппетиты растут, а в два цвета никак? ведь вручную можно, значит и программно должно быть можно, если нет, тогда руки вверх
0
213 / 109 / 46
Регистрация: 12.12.2016
Сообщений: 399
09.06.2022, 15:43
Ципихович Эндрю, через xlsxwriter можно в два)
1
0 / 0 / 0
Регистрация: 05.09.2017
Сообщений: 34
09.06.2022, 15:44  [ТС]
О, это дело!
Работает последний скрипт. И XLSX и разный стиль в одной ячейке - благодарю!
0
1712 / 579 / 76
Регистрация: 10.04.2009
Сообщений: 9,318
09.06.2022, 15:45
Цитата Сообщение от New Life Посмотреть сообщение
через xlsxwriter можно в два)
можно пример - и дело с концом))
0
213 / 109 / 46
Регистрация: 12.12.2016
Сообщений: 399
09.06.2022, 15:46
Лучший ответ Сообщение было отмечено sazurov как решение

Решение

Ципихович Эндрю, так выше смотри.

Python
1
2
3
4
5
6
7
8
9
import xlsxwriter
 
workbook = xlsxwriter.Workbook('test.xlsx')
worksheet = workbook.add_worksheet()
green = workbook.add_format({'color': 'green'})
bold_red = workbook.add_format({'bold': True, 'color': 'red'})
worksheet.write_rich_string('A1', bold_red, 'he', green,
                            'llo and default string')
workbook.close()
> hello and default string

Python
1
2
3
black_ = workbook.add_format({'color': 'black'})
worksheet.write_rich_string('A1', bold_red, 'he', green,
                            'llo', black_, ' and default string')
> hello and default string
3
0 / 0 / 0
Регистрация: 05.09.2017
Сообщений: 34
09.06.2022, 15:49  [ТС]


Python
1
2
3
4
5
6
7
8
9
10
11
12
import xlsxwriter
 
workbook = xlsxwriter.Workbook('reqExample.xlsx')
worksheet = workbook.add_worksheet()
bold_red = workbook.add_format({'bold': True, 'color': 'red'})
bold_blue = workbook.add_format({'bold': False, 'color': 'blue'})
worksheet.write_rich_string('A3',
                            'В три ',
                            bold_red, 'цвета',
                            bold_blue,  # style
                            ' можно :)')
workbook.close()
0
1712 / 579 / 76
Регистрация: 10.04.2009
Сообщений: 9,318
09.06.2022, 15:50
зер гут, спасибо вопрос один как обработать ошибку, чтобы в момент запуска не было ошибки
xlsxwriter.exceptions.FileCreateError: [Errno 13] Permission denied: 'test.xlsx'
как я понял открыт был файл при запуске
??
0
213 / 109 / 46
Регистрация: 12.12.2016
Сообщений: 399
09.06.2022, 15:51
Ципихович Эндрю, у тебя открыт эксель-файл 'test.xlsx' скорее всего. Закрывай файл после ручного просмотра.
1
1712 / 579 / 76
Регистрация: 10.04.2009
Сообщений: 9,318
09.06.2022, 15:58
Цитата Сообщение от New Life Посмотреть сообщение
у тебя открыт эксель-файл 'test.xlsx' скорее всего. Закрывай файл после ручного просмотра.
да, я и спрашиваю как обработать ошибку и сказать пользователю о ней, чтобы код не падал?
0
213 / 109 / 46
Регистрация: 12.12.2016
Сообщений: 399
09.06.2022, 16:00
Ципихович Эндрю, могу только предположить: если ловишь ошибку, то создаешь копию файла
1
1712 / 579 / 76
Регистрация: 10.04.2009
Сообщений: 9,318
09.06.2022, 16:01
Цитата Сообщение от New Life Посмотреть сообщение
могу только предположить: если ловишь ошибку, то создаешь копию файла
как это в коде выглядит?
0
213 / 109 / 46
Регистрация: 12.12.2016
Сообщений: 399
09.06.2022, 16:10
Лучший ответ Сообщение было отмечено Ципихович Эндрю как решение

Решение

Ципихович Эндрю, примерно
Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
import xlsxwriter
from xlsxwriter.exceptions import FileCreateError
 
try:
    workbook = xlsxwriter.Workbook('test.xlsx')
except FileCreateError:
    print("Закрой test файл!")
finally:
    workbook = xlsxwriter.Workbook('new.xlsx')
    worksheet = workbook.add_worksheet()
    green = workbook.add_format({'color': 'green'})
    bold_red = workbook.add_format({'bold': True, 'color': 'red'})
    black_ = workbook.add_format({'color': 'black'})
    worksheet.write_rich_string('A1', bold_red, 'he', green,
                                'llo', black_, ' and default string')
    workbook.close()
1
0 / 0 / 0
Регистрация: 05.09.2017
Сообщений: 34
09.06.2022, 16:15  [ТС]
Мда, только вроде xlsxwriter не может открыть существующий лист в XLSX, если он создан не им, а, например, openpyxl.
Т.е. я пользуюсь openpyxl, читаю уже готовый файл XLSX. В какой-то момент мне надо искать подстроку и подсвечивать (только) ее цветом в ячейках. xlsxwriter подсвечивать умеет, но прочитать уже сущ. лист не может, да?
0
1712 / 579 / 76
Регистрация: 10.04.2009
Сообщений: 9,318
09.06.2022, 16:18
sazurov, новая жизнь, он же
New Life сейчас скажет))
0
0 / 0 / 0
Регистрация: 05.09.2017
Сообщений: 34
09.06.2022, 16:20  [ТС]
да, заживем
Вообще пока немного мучительно совмещать разные библиотеки питона для тонких задач.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
09.06.2022, 16:20
Помогаю со студенческими работами здесь

Условное форматирование, взаимосвязь двух ячеек
Добрый день! Есть две таблицы, одна - "единицы", вторая "цена". Необходимо подсветить в таблице "единицы" те ячейки,...

Условное форматирование, сравнение цветов ячеек
Здравствуйте помогите с формулой условного форматирования пример: есть 3 колонки с ценами А Б С разных цветов, при учёте продаж...

Условное форматирование ячеек с разным интервалом
добрый день. хочу сделать так, чтоб с помощью условного форматирования у меня выделялся нужный временной промежуток в таблице. файл...

Условное форматирование ячеек с дополнительным условием
Друзья, доброго времени суток. Столкнулся с небольшой проблемкой в условном форматировании. Добавляю обычное правило с использованием...

Условное форматирование ячеек в зависимости от даты
Добрый день! Помогите пожалуйста, Есть таблица состоящая из Колонка А - номер заказа B-H месяца - черным цветом количество...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Новые блоги и статьи
Подключение Box2D v3 к SDL3 для Android: физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования. Часть библиотеки BedvitCOM Использованы. . .
Загрузка PNG с альфа-каналом на SDL3 для Android: с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
Загрузка PNG с альфа-каналом на SDL3 для Android: с помощью SDL3_image
8Observer8 27.01.2026
Содержание блога SDL3_image - это библиотека для загрузки и работы с изображениями. Эта пошаговая инструкция покажет, как загрузить и вывести на экран смартфона картинку с альфа-каналом, то есть с. . .
Влияние грибов на сукцессию
anaschu 26.01.2026
Бифуркационные изменения массы гриба происходят тогда, когда мы уменьшаем массу компоста в 10 раз, а скорость прироста биомассы уменьшаем в три раза. Скорость прироста биомассы может уменьшаться за. . .
Воспроизведение звукового файла с помощью SDL3_mixer при касании экрана Android
8Observer8 26.01.2026
Содержание блога SDL3_mixer - это библиотека я для воспроизведения аудио. В отличие от инструкции по добавлению текста код по проигрыванию звука уже содержится в шаблоне примера. Нужно только. . .
Установка Android SDK, NDK, JDK, CMake и т.д.
8Observer8 25.01.2026
Содержание блога Перейдите по ссылке: https:/ / developer. android. com/ studio и в самом низу страницы кликните по архиву "commandlinetools-win-xxxxxx_latest. zip" Извлеките архив и вы увидите. . .
Вывод текста со шрифтом TTF на Android с помощью библиотеки SDL3_ttf
8Observer8 25.01.2026
Содержание блога Если у вас не установлены Android SDK, NDK, JDK, и т. д. то сделайте это по следующей инструкции: Установка Android SDK, NDK, JDK, CMake и т. д. Сборка примера Скачайте. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru