복붙노트

[PYTHON] Excel에서 셀 너비 조정

PYTHON

Excel에서 셀 너비 조정

xlsxwriter를 사용하여 Excel 시트에 씁니다. 나는 문제에 직면하고있다 : 텍스트가 셀 크기보다 크면 숨어있다.

import xlsxwriter

workbook = xlsxwriter.Workbook("file.xlsx")
worksheet1 = workbook.add_worksheet()

worksheet1.write(1, 1,"long text hidden test-1" )
worksheet1.write(2, 1,"long text hidden test-2")
worksheet1.write(3, 1,"short-1")
worksheet1.write(4, 1,"short-2")
worksheet1.write(1, 2,"Hello world" )
worksheet1.write(2, 2,"Hello world")
worksheet1.write(3, 2,"Hello world")
worksheet1.write(4, 2,"Hello world")

workbook.close()

내가 얻는 것

조정 된 너비로 기대하고있는 것

해결법

  1. ==============================

    1.다음과 같이 set_column을 사용할 수 있습니다.

    다음과 같이 set_column을 사용할 수 있습니다.

    worksheet1.set_column(1, 1, 25)
    

    이것은 다음과 같이 정의됩니다.

    set_column(first_col, last_col, width, cell_format, options)
    

    모든 열을 자동으로 자동 맞춤하려면 다음과 같이 win32com 인터페이스를 사용해야합니다.

    import win32com.client as win32
    excel = win32.gencache.EnsureDispatch('Excel.Application')
    wb = excel.Workbooks.Open(r'file.xlsx')
    ws = wb.Worksheets("Sheet1")
    ws.Columns.AutoFit()
    wb.Save()
    excel.Application.Quit()
    

    이것은 현재 xlsxwriter 코드를 사용하여 파일을 닫은 후에 쉽게 수행 할 수 있습니다. 파일에 대한 전체 경로를 제공해야 할 수도 있습니다.

  2. ==============================

    2.불행히도 xlsxwriter는 자동 맞춤 옵션을 제공하지 않습니다.

    불행히도 xlsxwriter는 자동 맞춤 옵션을 제공하지 않습니다.

    그러나 각 열의 가장 큰 항목을 추적 한 다음 set column 명령을 사용하여 끝에 열 너비를 설정할 수 있습니다.

    set_column(first_col, last_col, width, cell_format, options)
    

    예를 들어, B 열의 너비를 가장 큰 문자열의 길이로 설정해야합니다.

    width= len("long text hidden test-1")
    worksheet1.set_column(1, 1, width)
    
  3. from https://stackoverflow.com/questions/33665865/adjust-cell-width-in-excel by cc-by-sa and MIT license