使用xlwt导出excel与python并调整宽度[复制]

参见英文答案 > Python xlwt – accessing existing cell content, auto-adjust column width                                    6个
我使用xlwt导出了我的列表:

response = HttpResponse(mimetype="application/ms-excel")
response['Content-Disposition'] = 'attachment; filename=Countries.xls'

wb = xlwt.Workbook()
ws1 = wb.add_sheet('Countries')

ws1.write(0, 0, 'Country Name')
ws1.write(0, 1, 'Country ID') 
countries = Country.objects.all()
index = 1
for country in countries:
   ws1.write(index, 0, country.country_name)    
   ws1.write(index, 1, country.country_id)
   index +=1

它生成一个包含国家/地区列表的Excel文件,但问题是工作表的列未调整为生成的数据.
是否有任何解决方案来调整这些列?

解决方法:

没有内置的方法可以使用xlwt将列宽调整为内部数据.

问题已在这里提出,所以我只想推荐你:

> Python xlwt – accessing existing cell content, auto-adjust column width
> Python XLWT adjusting column widths
> John Machin关于这个主题的答案

> Zoom in xlwt + auto-adjusting width for columns
> Autofit column formatting

基本上,您应该只跟踪每列中的最大数据长度,并根据字体大小和样式手动调整列宽.

希望有所帮助.

上一篇:Python Excel日期/时间有问题


下一篇:python – xlwt – 如何将分页符添加到Excel文件?