中山网站只设计,荣耀手机官网旗舰店,贵阳网站建设葫芦岛,中国国际室内设计师网文章目录 说个问题#xff08;很严重#xff01;#xff01;#xff01;#xff09;写个方案会Python看这里Python环境搭建不存在多行合并存在多行合并 不会Python看这里 说个问题#xff08;很严重#xff01;#xff01;#xff01;#xff09;
平时处理Excel表格… 文章目录 说个问题很严重写个方案会Python看这里Python环境搭建不存在多行合并存在多行合并 不会Python看这里 说个问题很严重
平时处理Excel表格的时候特别是针对存在【自动换行】的表格需要打印的时候每次都要一行一行的调整行高一般需要打印的时候都是要上会、要汇报的时候都是比较着急的时候但是着急没啥有没啥好办法只能一行一行的调太痛苦啦
写个方案
但是只要你肯动脑筋万事都有解决方案滴请接着往下看。 openpyxl 官方网站https://openpyxl.readthedocs.io/en/stable/ 基于Python3.8.8 和 WPS软件实现 会Python看这里
Python环境搭建
首先确保你电脑上安装了Python环境可以参考文章 Python脚本运行环境搭建、安装教程、超简单、零基础小白新建一个项目文件夹在里面创建项目虚拟环境CMD运行
python -m venv shvenv激活虚拟环境
cd shvenv/Scripts
activate安装 openpyxl 第三方 python 库
pip install -i https://pypi.tuna.tsinghua.edu.cn/simple openpyxlpython环境搭建完成接下来开始编写代码调试运行
搭建项目虚拟环境 安装openpyxl库
不存在多行合并
如果多行之间不存在合并单元格这种情况是比较好处理的直接在最合适的行高的基础上对每一行添加一定的行高即可实现。 新建 批量调整行高.py 文件和 批量调整行高.ini 文件。
打开“批量调整行高.ini”后输入如下代码
[workbook]
# 工作簿的名字和运行程序放在同一个文件夹中
wb_path 你的表格名字[worksheet]
# 设置开始行号 0 表示不设置
start_row 0
# 设置结束行号 0 表示不设置
end_row 0
# 设置增加的行高单位磅
add_height 20
# 对处理行高的限制
limit_row 100000打开“批量调整行高.py”后输入如下代码
import os
import sys
import traceback
import configparser
import openpyxltry:# 获取配置文件信息run_folder os.path.dirname(__file__) # 获取.py文件的运行路径# run_folder os.path.dirname(os.path.realpath(sys.executable)) # 获取.exe的运行路径cfgpath os.path.join(run_folder, 批量调整行高.ini)conf configparser.ConfigParser() # 创建管理对象conf.read(cfgpath, encodingutf-8) # 读取ini文件# 打开表格print(准备打开表格......)wb_path conf[workbook].get(wb_path)wb openpyxl.load_workbook(os.path.join(run_folder, wb_path))ws wb.active# 设置开始行号start_row conf[worksheet].getint(start_row)if start_row 0:start_row 1# 设置结束行号end_row conf[worksheet].getint(end_row)if end_row 0:end_row ws.max_rowlimit_row conf[worksheet].getint(limit_row)print(f工作表的最大行号是: {end_row})if end_row limit_row:print(f工作表的行号超过了{limit_row}行请检查表格)raise 表格行号过大# 在现有行高的基础上增加10磅add_height conf[worksheet].getint(add_height)for row_ind in range(start_row, end_row 1):row_height ws.row_dimensions[row_ind].heightif row_height is None:row_height 13.5 # WPS默认行高13.5磅ws.row_dimensions[row_ind].height row_height add_heightprint(f工作表批量增加{add_height}磅行高完成)wb.save(wb_path)wb.close()print(关闭表格)except Exception as e:# 打印异常的描述print(f运行出错提示信息{e})# 打印完整的错误栈信息traceback.print_exc()
finally:input(程序运行完毕按回车键退出...)运行 批量调整行高.py 文件运行之前记得关闭软件打开的表格哦不然会报错当然你也可以新建一个 批量调整行高.bat 文件来点击运行这样就不用每次输入命令啦。
bat文件的代码如下
echo off
chcp 65001
.\shvenv\Scripts\python 批量调整行高.py
pause最终运行情况如下
相关文件资源包【批量调整表格的行高Python实现源代码不存在多行合并】
存在多行合并
多行之间存在合并单元格这种情况比较复杂需要计算多行单元格合并后需要的行高并且要找出需要的行高最大的一列作为最终设置的行高值。
待后续更新。。。。。
不会Python看这里
下载作者羊大侠上传的运行压缩包解压点击exe文件直接运行即可看见测试效果。
点击下载【批量调整表格行高的Python实现解决表格换行打印显示不全问题】