PythonのライブラリであるOpenpyxlを使用して、Excelの列幅を自動的に調整する方法について説明します。
列幅の自動調整
以下のスクリプトは、Excelの列幅を自動的に調整します。
import openpyxl as xl
inputfile = 'test.xlsx'
wb1 = xl.load_workbook(filename=inputfile)
ws1 = wb1.worksheets[0]
# set column width
for col in ws1.columns:
max_length = 0
column = col[0].column
for cell in col:
if len(str(cell.value)) > max_length:
max_length = len(str(cell.value))
adjusted_width = (max_length + 2) * 1.2
ws1.column_dimensions[column].width = adjusted_width
# save xlsx file
wb1.save(inputfile)
このスクリプトは、各列のセルの値の長さを計算し、最大値を見つけます。その後、その最大値に余裕を持たせた値を列幅として設定します。
すべてのワークシートの列幅を設定する
以下のスクリプトは、すべてのワークシートの列幅を設定します。
import openpyxl as xl
bk = xl.load_workbook(r'c:\\temp\\org.xlsx')
for ws in bk.worksheets:
ws.column_dimensions['A'].width = 24
bk.save(r'c:\\temp\\new.xlsx')
このスクリプトは、すべてのワークシートの特定の列(この例では’A’列)の列幅を設定します。
以上がPythonとOpenpyxlを使用してExcelの列幅を自動的に調整する方法です。これらのスクリプトを参考に、自分のニーズに合わせてカスタマイズしてみてください。.