搜索了一些网上的方法,直接搬运别人的代码总是不满意最后的效果,所以最后在参考了网上的方法做了一些调整。
大致思路就是找出每一列的字符串最大长度,直接设置列宽值为最大长度+2,由于python在识别字符串长度的时候是不会区分中文字符和英文字符的,而在EXCEL中中文字符的宽度大约是英文字符的两倍,所以我的想法是要找出中文字符的数量。
PS:这个方法只能针对单行的单元格文本,大家可以根据自己的实际情况调整一下取值系数或最后的调整参数
# 设置一个字典用于保存列宽数据
dims = {
}
# 遍历表格数据,获取自适应列宽数据
for row in sheet.rows:
for cell in row:
if cell.value: