我正在使用 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()
我得到什么
我对调整宽度的期望
你可以使用set_column http://xlsxwriter.readthedocs.org/worksheet.html#worksheet-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 代码关闭文件后,可以轻松完成此操作。请注意,您可能需要提供文件的完整路径。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)