Quantcast
Viewing latest article 9
Browse Latest Browse All 51036

xlsxwriter - how to use set_row for formatting

Hi,
In the following code I want to bold the 1st 3 rows and from the 4th row bold all rows where cells in column A are not blank

workbook = xlsxwriter.Workbook('demo.xlsx', {'strings_to_numbers': True})
sheet = workbook.add_worksheet()
# pd.core.format.header_style = None

merge_format = workbook.add_format({'align': 'center'})

font_fmt = workbook.add_format({'font_name': 'Arial', 'font_size': 16})
header_fmt = workbook.add_format({'font_name': 'Arial', 'font_size': 16, 'bold': True, 'underline': True})
bold = workbook.add_format({'bold': True})        


sheet.right_to_left()
sheet.merge_range('L1:N1', col_madaad, merge_format)
sheet.merge_range('I1:K1', col_shaar, merge_format)
sheet.merge_range('F1:H1', col_taarich, merge_format)
sheet.merge_range('A1:C1', col_shem_lak, merge_format)
sheet.merge_range('M2:O2', "תשלום נוכחי", merge_format)
sheet.merge_range('J2:L2', "יתרה", merge_format)
sheet.merge_range('G2:I2', "שולם עד כה", merge_format)

rowHeaders = [
            ' ',
            'הוראה',
             'שם',
             'תאריך תחילה',
            'קוד הצמדה',
             'מס תש',
             'לתשלום   נומינלי',
              'מס',
              'נומינלי',
             'לתשלום   בבנק',
              'מס',
              'נומינלי',
              'לתשלום   בבנק',
              'מס',
              'נומינלי',
			 'לתשלום   בבנק'
              ]
sheet.write_row(2, 0,  tuple(rowHeaders), bold) # this is the only row I succeeded to bold


format1 = workbook.add_format({'num_format': '#,##0.00'})

i=3
# open file for reading
with open('s297ibud.csv', newline='', encoding='utf-8') as csvDataFile:
    csvReader = csv.reader(csvDataFile)
    for row in csvReader:
        i=i+1
        sheet.write_row('A'+str(i), row[::-1])
bold = workbook.add_format({'bold': True})        
formatDate = workbook.add_format({'num_format': 'dd-mm-yy', 'align': 'center'})
format1 = workbook.add_format({'num_format': '#,##0.00'})
format2 = workbook.add_format({'num_format': '000'})
wrap_format = workbook.add_format({'text_wrap': True})
sheet.set_column('O:P', 12, format1)
sheet.set_column('N:N', 7, format2)
sheet.set_column('L:M', 12, format1)
sheet.set_column('K:K', 7, format2)
sheet.set_column('I:J', 12, format1)
sheet.set_column('H:H', 7, format2)
sheet.set_column('G:G', 12, format1)
sheet.set_column('E:F', 7, format2)
sheet.set_column('D:D', 12, formatDate)
sheet.set_column('C:C', 20)
sheet.set_column('A:A', 7, wrap_format)
sheet.freeze_panes(3, 0)
workbook.close()




What's the best way to do this?
Any help much appreciated

Viewing latest article 9
Browse Latest Browse All 51036

Trending Articles