Python基础:使用 openpyxl为Excel设置行高或者列宽

冷炫風刃
发布: 2025-12-04 20:55:02
原创
959人浏览过
openpyxl中列宽以字符为单位(如ws.column_dimensions['A'].width = 15),行高以磅为单位(如ws.row_dimensions[1].height = 25),需调用wb.save()才能生效。

python基础:使用 openpyxl为excel设置行高或者列宽

在用 openpyxl 处理 Excel 文件时,设置行高和列宽是常见的格式调整需求。它不支持像 Excel 界面那样“自动调整”,但可以精确控制每个行或列的尺寸(单位为点或字符宽度)。

设置列宽(以字符为单位)

列宽单位是「字符宽度」,基于 Excel 默认字体(通常是 Calibri 11 号)下 0 字符的宽度。数值一般设为 8–30 之间较合理,太小会截断内容,太大则浪费空间。

  • 单列设置:ws.column_dimensions['A'].width = 15
  • 多列批量设置:可用循环,例如 for col in ['A', 'B', 'C']: ws.column_dimensions[col].width = 12
  • 用数字索引列更灵活:比如第 1 列(A)→ ws.column_dimensions[get_column_letter(1)].width = 10,需先导入 from openpyxl.utils import get_column_letter

设置行高(以磅为单位)

行高单位是「磅(point)」,1 磅 ≈ 1/72 英寸。默认行高约 15(对应 20 像素左右),常规正文建议 16–24,标题行可设到 30+。

  • 单行设置:ws.row_dimensions[1].height = 25(第 1 行)
  • 连续多行:循环设置,如 for row in range(1, 6): ws.row_dimensions[row].height = 18
  • 注意:行号从 1 开始,不是 0;不能用 ws['1'].height 这类写法

注意事项和常见问题

有些行为容易被忽略,但会影响效果:

小云雀
小云雀

剪映出品的AI视频和图片创作助手

小云雀 1587
查看详情 小云雀

立即学习Python免费学习笔记(深入)”;

  • 设置后必须调用 wb.save('xxx.xlsx') 才会生效,内存中修改不会自动保存
  • 列宽设为 None 或 0 会恢复默认(但不推荐设 0,可能导致显示异常)
  • 行高设为 None 会恢复自动高度(即根据字体大小自适应),但 openpyxl 的自动高度支持有限,复杂换行可能仍需手动设高
  • 合并单元格区域的行高/列宽,只影响左上角单元格所在行列,其余部分由合并逻辑覆盖,无需单独设置

基本上就这些。只要记住列宽是字符、行高是磅,用 column_dimensionsrow_dimensions 对应操作,就能稳稳控制表格外观。

以上就是Python基础:使用 openpyxl为Excel设置行高或者列宽的详细内容,更多请关注php中文网其它相关文章!

最佳 Windows 性能的顶级免费优化软件
最佳 Windows 性能的顶级免费优化软件

每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。

下载
来源:php中文网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
开源免费商场系统广告
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号