2013-08-16 2 views
7

Это утомляло мой разум моим текущим проектом. Я пытаюсь писать стили в листе Excel с помощью XLWT, смотрите ниже:XLWT несколько стилей

sheet.write(rowi,coli,value,stylesheet.bold,stylesheet.bordered) 

Я бегу в эту ошибку:

TypeError: write() takes at most 5 arguments (6 given)

Любая идея, как обойти эту проблему, чтобы добавить несколько стилей в определенную ячейку? Можно ли здесь составить список?

ответ

14

Вы должны пройти только номер строки, номер Col, значение и стиль (XFStyle экземпляра класса) к методу write, например:

import xlwt 

workbook = xlwt.Workbook() 
worksheet = workbook.add_sheet('Test') 

style = xlwt.XFStyle() 

# font 
font = xlwt.Font() 
font.bold = True 
style.font = font 

# borders 
borders = xlwt.Borders() 
borders.bottom = xlwt.Borders.DASHED 
style.borders = borders 

worksheet.write(0, 0, 'test value', style=style) 
workbook.save('test.xls') 

То же самое, но с использованием easyxf:

import xlwt 

workbook = xlwt.Workbook() 
worksheet = workbook.add_sheet('Test') 

style_string = "font: bold on; borders: bottom dashed" 
style = xlwt.easyxf(style_string) 

worksheet.write(0, 0, 'test value', style=style) 
workbook.save('test.xls') 
+0

А, да. Имеет смысл. Раньше я делал это так, но это просто громоздко. Я узнал про xlwt.easyxf и подумал, что с этим будет простой способ сделать это. Угадайте, хотя): –

+0

Вы также можете использовать 'easyxf'. Это в основном способ инициализации стилей xlwt в строке. Я могу предоставить вам пример, если хотите. – alecxe

+0

Да, пожалуйста. Я не хочу быть бременем, но мне действительно нужно посмотреть, как это делается. –

 Смежные вопросы

  • Нет связанных вопросов^_^