Я написал программу, которая создает таблицы docx с цветными ячейками.потому что покраска каждой ячейки одна за другой впитывает много строк кода, я думал о том, чтобы поместить ее в функцию, но я не могу заставить ее работать.
это то, как вы бы их раскрасили без цикла:
shading_elm_1 = parse_xml(r'<w:shd {} w:fill="30d1ff"/>'.format(nsdecls('w')))
table.rows[0].cells[0]._tc.get_or_add_tcPr().append(shading_elm_1)
shading_elm_2 = parse_xml(r'<w:shd {} w:fill="30d1ff"/>'.format(nsdecls('w')))
table.rows[0].cells[1]._tc.get_or_add_tcPr().append(shading_elm_2)
shading_elm_3 = parse_xml(r'<w:shd {} w:fill="30d1ff"/>'.format(nsdecls('w')))
table.rows[0].cells[2]._tc.get_or_add_tcPr().append(shading_elm_3)
shading_elm_4 = parse_xml(r'<w:shd {} w:fill="30d1ff"/>'.format(nsdecls('w')))
table.rows[0].cells[3]._tc.get_or_add_tcPr().append(shading_elm_4)
shading_elm_5 = parse_xml(r'<w:shd {} w:fill="30d1ff"/>'.format(nsdecls('w')))
table.rows[0].cells[4]._tc.get_or_add_tcPr().append(shading_elm_5)
это функция, которую я пробовал
def colorCells(self, table, amount, color):
self.__amount = amount
self.__color = "r'<w:shd {} w:fill=" + '"' + farbe + "\"/>'.format(nsdecls('w'))"
for i in range(0, self.__amount):
shading_elm_1 = parse_xml(self.__color)
self.rows[0].cells[i]._tc.get_or_add_tcPr().append(shading_elm_1)
, как вы можете видеть, я хочу передать количество ячеек для окраски и сам код цвета функции, вот как я пытаюсьчтобы вызвать его: self.colorCells (таблица, 5, "30d1ff")
сообщение об ошибке, которое я получаю:
lxml.etree.XMLSyntaxError: начальный тег ожидается, '<' не найден, строка1, столбец 1 </p>