我正在尝试创建一个Excel工作簿,我可以在保存工作簿之前自动设置或自动调整列的宽度.
我一直在阅读的Python的Excel的教程中找到在xlwt是模仿xlrd者某些功能的希望(如sheet_names(),cellname(row, col),cell_type,cell_value,等...).例如,假设我有以下几点:
from xlwt import Workbook
wb = Workbook()
sh1 = wb.add_sheet('sheet1' , cell_overwrite_ok = True)
sh2 = wb.get_sheet(0)
Run Code Online (Sandbox Code Playgroud)
wb.get_sheet(0)类似于rb.sheet_by_index(0)xlrd中提供的功能,除了前者允许您修改内容(前提是用户已设置cell_overwrite_ok = True)
假设xlwt DOES提供了我正在寻找的功能,我计划再次浏览每个工作表,但这次要跟踪占用特定列的空间最多的内容,并根据该列设置列宽.当然,我也可以在写入工作表时跟踪特定列的最大宽度,但我觉得在已经写完所有数据后设置宽度会更清晰.
有谁知道我能做到吗?如果没有,你建议做什么来调整列宽?
我使用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
Run Code Online (Sandbox Code Playgroud)
它生成一个包含国家/地区列表的Excel文件,但问题是工作表的列未调整为生成的数据.是否有任何解决方案来调整这些列?