Home » excel » Resize columns in Excel document with Python

Resize columns in Excel document with Python

Posted by: admin April 23, 2020 Leave a comment

Questions:

I am currently working with creating an Excel document in Python. I create the excel document but I’m not sure what is wrong with the code that it is not resizing the columns correctly. Does anyone have any ideas?

def writerow(self, vals):
    ws = self.workbook.active
    this_row = self.numrows
    this_col = 1
    for v in vals:
        cell = ws.cell(row = this_row, column = this_col)
        cell.value = v
        if ws.column_dimensions[get_column_letter(this_col)] < len(str(v)):
            ws.column_dimensions[get_column_letter(this_col)] = len(str(v))
        this_col += 1
    self.numrows += 1
    self.worksheet = ws
How to&Answers:

I found what I needed for what I am working on.
I needed to add “.width” to the areas where I was checking or assigning column widths.

 def writerow(self, vals):
    ws = self.workbook.active
    this_row = self.numrows
    this_col = 1
    for v in vals:
        cell = ws.cell(row = this_row, column = this_col)
        cell.value = v
        print "Column Width:"
        print ws.column_dimensions[get_column_letter(this_col)].width
        if ws.column_dimensions[get_column_letter(this_col)].width < len(str(v)):
            ws.column_dimensions[get_column_letter(this_col)].width = len(str(v))
        this_col += 1
    self.numrows += 1
    self.worksheet = ws