excel怎么设置最适合列宽,excel怎么设置列宽为最合适列宽

  excel怎么设置最适合列宽,excel怎么设置列宽为最合适列宽

  本文主要介绍Python如何实现Excel最合适的列宽(openpyxl),有很好的参考价值。希望对大家有帮助。如有错误或不足之处,请不吝赐教。

  

目录

Excel最适合Excel的列宽(openpyxl)这是实现Python对Excel的列宽和行高的编写的最简单的方法。有些方法使用第三方库xlsxwriter,结果文件格式是xlsx使用第三方库xlwt,结果文件格式是xls。

 

  

Excel的最合适列宽(openpyxl)

 

  Python的Pandas模块是处理Excel的有力工具,尤其是处理和保存Excel。但是,要让导出的Excel自动调整列宽或行高,真的是不可能的,尤其是处理后需要用户自己调整列宽,非常不方便。

  因此,必须打开openpyxl模块。

  

这是最简单的实现

 

  从openpyxl导入load_workbook

  wb=load_workbook(test.xlsx )

  Ws=wb[wb.sheetnames[0]] #打开第一张工作表。

  Ws.column _ dimensions [a]。width=20.0 #调整a列的宽度。

  Ws.row _ dimensions [1]。height=40 #调整第1行的高度。

  ws.save(test.xlsx )

  但是,如果你只是让一个Excel调整每个工作表的列宽呢?我写了这样一个函数。

  获取每张工作表每列的最长值,并将其设置为列宽。

  从openpyxl导入load_workbook

  从openpyxl.utils导入get_column_letter

  定义重置列(文件名):

  wb=load_workbook(文件名)

  对于WB . sheet names 3360中的工作表

  ws=wb[sheet]

  df=pd.read_excel(文件名,工作表)。菲尔娜(-)

  df . loc[len(df)]=list(df . columns)#将标题行追加到最后一行

  对于df.columns:中的列

  Index=list (df.columns)。index (col) #列序号

  letter=get _ column _ letter(index 1)#列字母

  Collen=df [col]。apply (lambda x:len (str (x))。encode())。max () #获取该列长度的最大值。当然,min也可以用来求最小值和均值。

  Ws.column _ dimensions [letter]。width=collen *1.24 #,即列宽为最大长度*1.2,可自行调整。

  wb.save(文件名)

  reset_col(test.xlsx )

  注意Openpyxl只支持最新的。xlsx格式。如果执行有这样的错误:

  文件“c : Users Administrator AppData Local Programs Python Python 38 lib site-packages openpyxl reader excel . py”第94行in _ validate _ archive raise InvalidFileException(msg)openpyxl . utils . exceptions . InvalidFileException 3360 openpyxl不支持旧的。xls文件格式,请使用xlrd来读取此文件,或者转换

  文件格式是旧的。请打开Excel文件并选择另存为。xlsx格式。

  

Python写Excel列宽,行高的一些方法

 

  

使用第三方库 xlsxwriter,结果文件格式为xlsx

 

  代码如下:

  导入xlsxwriter

  #创建新工作簿并添加工作表。

  workbook=xlsxwriter。工作簿(r Mac Home Desktop test 11 . xlsx )

  worksheet=workbook . add _ worksheet( test )

  #格式化第一列

  Worksheet.set _ column (a:a ,30) #设置列A宽度30

  Worksheet.set _ column (b:b ,20) #将B列的宽度设置为20。

  # cell _ format=workbook . add _ format({ bold : True })

  Worksheet.set_row(3,20) #将第四行的高度设为20。

  # worksheet.set_row(3,20,单元格格式)

  实现结果截图如下:

  

使用第三方库 xlwt,结果文件格式为xls

 

  代码如下:

  导入xlwt

  book=xlwt。工作簿(r Mac Home Desktop test 22 . xls )

  sheet=book.add_sheet(sheet1 )

  first_col=sheet.col(0)

  sec_col=sheet.col(1)

  First_col.width=256*20 #宽度

  tall _ style=xlwt . easyxf( font : height 720;)# 36pt,字体开头的字号。

  first_row=sheet.row(0)

  first_row.set_style(高样式)

  book . save(r Mac Home Desktop test 22 . xls )

  参数解释:

  默认字体0的xlwt: 1/256中列宽的值表示是度量单位。

  创建xlwt时使用的默认宽度是2960,这是11个字符0的宽度。

  所以我们在设置列宽时可以使用以下方法:

  宽度=256 * 20 256是度量单位,20表示20个字符的宽度。

  实现结果截图如下:

  以上个人经验,希望给你一个参考,也希望你能支持盛行的IT软件开发工作室。

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: