Excel批量设置行高,Excel表格设置自动换行后打印显示不全,Excel表格设置最合适的行高后打印显示不全,完美解决方案!!!

文章目录

说个问题(很严重!!!)

平时处理Excel表格的时候,特别是针对存在【自动换行】的表格需要打印的时候,每次都要一行一行的调整行高,一般需要打印的时候都是要上会、要汇报的时候,都是比较着急的时候,但是着急没啥有,没啥好办法,只能一行一行的调,太痛苦啦!!!🤮🤢🤕🤒🤧😵

写个方案

但是只要你肯动脑筋,万事都有解决方案滴!请接着往下看。

openpyxl 官方网站:https://openpyxl.readthedocs.io/en/stable/
基于Python3.8.8 和 WPS软件实现

会Python看这里

Python环境搭建

  1. 首先确保你电脑上安装了Python环境,可以参考文章:
    Python脚本运行环境搭建、安装教程、超简单、零基础小白
  2. 新建一个项目文件夹,在里面创建项目虚拟环境,CMD运行:
bash 复制代码
python -m venv shvenv
  1. 激活虚拟环境:
bash 复制代码
>>>cd shvenv/Scripts
>>>activate
  1. 安装 openpyxl 第三方 python 库
bash 复制代码
pip install -i https://pypi.tuna.tsinghua.edu.cn/simple openpyxl

python环境搭建完成,接下来开始编写代码,调试运行!🤪

搭建项目虚拟环境:

安装openpyxl库:

不存在多行合并

如果多行之间不存在合并单元格,这种情况是比较好处理的,直接在最合适的行高的基础上对每一行添加一定的行高即可实现。

新建 批量调整行高.py 文件和 批量调整行高.ini 文件。

打开"批量调整行高.ini"后输入如下代码:

ini 复制代码
[workbook]
# 工作簿的名字,和运行程序放在同一个文件夹中
wb_path = 你的表格名字

[worksheet]
# 设置开始行号 0 表示不设置
start_row  = 0
# 设置结束行号 0 表示不设置
end_row  = 0
# 设置增加的行高(单位:磅)
add_height = 20
# 对处理行高的限制
limit_row = 100000

打开"批量调整行高.py"后输入如下代码:

python 复制代码
import os
import sys
import traceback
import configparser
import openpyxl

try:
    # 获取配置文件信息
    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, encoding="utf-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_row
        limit_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].height
        if row_height is None:
            row_height = 13.5  # WPS默认行高13.5磅
        ws.row_dimensions[row_ind].height = row_height + add_height
    print(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文件的代码如下:

bash 复制代码
@echo off
chcp 65001
.\shvenv\Scripts\python 批量调整行高.py
pause

最终运行情况如下:

相关文件资源包:【批量调整表格的行高Python实现源代码(不存在多行合并)

存在多行合并

多行之间存在合并单元格,这种情况比较复杂,需要计算多行单元格合并后需要的行高,并且要找出需要的行高最大的一列作为最终设置的行高值。

待后续更新。。。。。

不会Python看这里

下载作者羊大侠上传的运行压缩包,解压,点击exe文件直接运行,即可看见测试效果。

点击下载:【批量调整表格行高的Python实现,解决表格换行打印显示不全问题

相关推荐
笨鸟先飞,勤能补拙3 小时前
AI 赋能网络安全:技术全景、成熟度评估与实战案例
人工智能·python·安全·web安全·网络安全·sqlite·github
长和信泰光伏储能4 小时前
京津冀光伏发电:绿色能源的未来之路
python·能源
浦信仿真大讲堂5 小时前
从重复操作到自动化闭环:如何让 CST 与 Python 真正协同起来
python·自动化·cst·仿真软件·达索软件
hPw0eKIqD5 小时前
使用二次封装的Excel COM 组件操作Excel\WPS ET中的区域、行和列
excel·wps
Gu Gu Study5 小时前
ScoutLoop开放域深度研究引擎(agent的初步设计想法)
人工智能·python
卷无止境6 小时前
写代码这件事,到底该讲究点什么?
后端·python
卷无止境6 小时前
循环复杂度到底在算什么,Python 代码怎么才能写得让人一看就懂
后端·python
lpfasd1236 小时前
MediaCrawler 项目深度分析
chrome·python·chrome devtools
Dxy12393102167 小时前
Python项目打包成EXE完整教程(PyInstaller实战避坑)
开发语言·python
bamb007 小时前
一个项目带你入门AI应用开发01
python