Overlapping error while generating Excel sheet

64 views Asked by At

Code

df.to_excel(
    writer,
    index=False,
    startrow=2,
    sheet_name=self.sheet_name
    )
ws = writer.book.get_worksheet_by_name(self.sheet_name)
ws.freeze_panes(3, 0)
workbook = writer.book
merge_head_size = workbook.add_format(
    {"bold": 1, "border": 1, "align": "left", "valign": "vcenter", 'font_size': 20 if len(df.columns.tolist())>4 else 14}) 
merge_sub_head_size = workbook.add_format(
    {"bold": 1, "border": 1, "align": "left", "valign": "vcenter", 'font_size': 10})                                

merged_data_one_range = f"B1:E1" if df.columns.tolist() else "B1:G1"
merged_data_range = f"B2:{alphabet_list[len(df.columns.tolist())-1]}2" if df.columns.tolist() else "B2:G2"
# merge_date = f"{alphabet_list[len(df.columns.tolist())-1]}" if df.columns.tolist() else "E1"

blue_background_format = workbook.add_format({'bg_color': '#00b0f0'})
conditional_format_range = f"A3:{alphabet_list[(len(df.columns.tolist())-1)]}3" if df.columns.to_list() else "A3:I3"
ws.conditional_format(conditional_format_range, {'type': 'no_errors', 'format': blue_background_format})

ws.merge_range(merged_data_one_range, self.header_name, merge_head_size)
if merged_data_one_range == 'B1:B1':
    ws.write('B1',self.header_name, workbook.add_format({"bold": 1, "border": 1, "align": "left", "valign": "vcenter", 'font_size': 20 if len(df.columns.tolist())>4 else 14}))        
            
ws.merge_range(merged_data_range, self.sub_headings, merge_sub_head_size)  

Error

xlsxwriter.exceptions.OverlappingRange: Merge range 'B1:E1' overlaps previous merge range 'B1:E1'. 

Any idea on how to resolve the issue?

I tried by changing the sheet variables, but it didn't worked out.

0

There are 0 answers