分享一段openpyxl复制列宽的代码
import openpyxl as xl
from copy import copy,deepcopy
......
ws2.column_dimensions = deepcopy(ws.column_dimensions)
for i,CD in ws.column_dimensions.items():
ii = xl.utils.get_column_letter(xl.utils.column_index_from_string(i)+2)
ws3.column_dimensions[ii].min = CD.min + 2
ws3.column_dimensions[ii].max = CD.max + 2
ws3.column_dimensions[ii].width = CD.width
自己简单使用column_dimensions的width时,发现不能完全复制,除却默认值外,相邻列的第二列列宽也没能复制。后发现其不是一一对应到列的,而是在起始列列名,对应一个列范围和相应设置,包括列宽。