如何解决设置工作簿中所有工作表的列宽以在Python中自动调整
我有一个python脚本,可以生成带有多张图纸的xlsx文件。对于每张纸,我想调整第一行的列宽(列标题)以自动调整。请帮助我了解如何通过xlsxwriter或openpyxl(如果可能的话,一个代码块遍历整个工作簿并自动调整每张纸的第一行)来完成此操作。
谢谢
解决方法
您不能只更改第一行的列宽,因为整个列的宽度必须相同。
因此,您需要遍历列的每个单元格以找出最长的值,然后将列宽设置为该数字(逐列,逐张)。
您可以在此处使用示例来计算每个单元格的长度:
import openpyxl
def cellLength():
workBook = openpyxl.load_workbook('****.xlsx')
for sheetName in workBook.sheetnames:
sheet = workBook[sheetName]
for columnNum in range(sheet.max_column):
for rowNum in range(sheet.max_row):
cellLength = len(str(sheet.cell(row = rowNum + 1,column = columnNum + 1).value))
然后将列宽设置为最长的单元格长度。
此外,宽度必须小于255。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。