当前位置: 首页 > news >正文

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

文章目录

  • 说个问题(很严重!!!)
  • 写个方案
  • 会Python看这里
    • Python环境搭建
    • 不存在多行合并
    • 存在多行合并
  • 不会Python看这里

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

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

写个方案

但是只要你肯动脑筋,万事都有解决方案滴!请接着往下看。
openpyxl 官方网站:https://openpyxl.readthedocs.io/en/stable/
基于Python3.8.8 和 WPS软件实现

wps版本信息

会Python看这里

Python环境搭建

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

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

搭建项目虚拟环境:
搭建项目虚拟环境
安装openpyxl库:
安装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, 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_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实现,解决表格换行打印显示不全问题】

运行情况

相关文章:

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

文章目录 说个问题&#xff08;很严重&#xff01;&#xff01;&#xff01;&#xff09;写个方案会Python看这里Python环境搭建不存在多行合并存在多行合并 不会Python看这里 说个问题&#xff08;很严重&#xff01;&#xff01;&#xff01;&#xff09; 平时处理Excel表格…...

Web Bluetooth API 开发记录

搞了一天的蓝牙串口协议被几个软件和AI带沟里面去了。 1.00001101-0000-1000-8000-00805f9b34fb 是spp协议。但是我用的称是使用的49535343-fe7d-4ae5-8fa9-9fafd205e455蓝牙低功耗spp协议 2.推荐一款软件Android-nRF-Connect github地址&#xff1a;https://github.com/Nor…...

python基础知识(二)

元组 元组与列表类似&#xff0c;不同之处在于&#xff0c;元组的元素不能修改&#xff0c;元组使用()。 集合 集合是一个无序且不重复的元素列表。 基本功能是 进行成员关系测试和删除重复元素。 创建集合使用大括号或者set()函数。 例子&#xff1a; 注意&#xff1a;创建一…...

【每日学点鸿蒙知识】初始化BigInt、包体积瘦身、Tabs嵌套Grid、老年化适配、Release打包失败

1、HarmonyOS 在一个类中&#xff0c;怎么初始化一个BigInt类型的属性&#xff1f; 可以通过BigInt关键字来初始化&#xff0c;如&#xff1a; let a BigInt(1); let b BigInt("2"); 关于Uint8Array与string互转&#xff0c;示例&#xff1a; // string 转Uint8…...

Android service framework笔记

1. 网络摘录如何添加一个Application Framework Service(一)(without native code) 如何添加一个Application Framework Service(二)(with native code) 2.书籍摘录...

安全攻防:中间人攻击

1. 中间人攻击定义 中间人攻击&#xff08;简称MITM&#xff09;是攻击者在进行网络通信的双方中间&#xff0c;分别与两端建立独立的联系&#xff0c;并进行数据嗅探甚至篡改&#xff0c;而通信的双方却对中间人毫不知情&#xff0c;认为自己是直接在与对端通信。2. 常见中间人…...

【Rust自学】7.3. use关键字 Pt.1:use的使用与as关键字

喜欢的话别忘了点赞、收藏加关注哦&#xff0c;对接下来的教程有兴趣的可以关注专栏。谢谢喵&#xff01;(&#xff65;ω&#xff65;) 7.3.1. use的作用 use的作用是将路径导入到当前作用域内。而引入的内容仍然是遵守私有性原则&#xff0c;也就是只有公共的部分引入进来才…...

变长的时间戳(第4版)

以32位为单位&#xff0c;一个时间戳可以是32位、64位、96位。 122932 113032 A类&#xff1a;(40036597)1000146097000≤229 B类&#xff1a;246060100086400000≤229 C类&#xff1a;1000100010001000000000≤230 每400年有40036597146097天&#xff0c;A类时间戳能表达1000…...

Intent--组件通信

组件通信1 获取子活动的返回值 创建Activity时实现自动注册&#xff01;【Activity必须要注册才能使用】 默认 LinearLayout 布局&#xff0c;注意 xml 中约束布局的使用&#xff1b; 若需要更改 线性布局 只需要将标签更改为 LinearLayout 即可&#xff0c;记得 设置线性布局…...

Android14 OTA升级速度过慢问题解决方案

软件版本&#xff1a;Android14 硬件平台&#xff1a;QCS6115 问题&#xff1a;OTA整包升级接近20min&#xff0c;太长无法忍受。 该问题为Android高版本的虚拟AB分区压缩技术所致&#xff0c;其实就是时间换空间&#xff0c;个人推测AB分区压缩会节约硬件存储空间&#xff0…...

仓颉语言实战——1. 类型

仓颉语言实战——1. 类型 仓颉语言&#xff08;Cangjie Language&#xff09;是一个现代化的、简洁而强大的编程语言&#xff0c;它的类型系统为高效开发提供了极大的支持。本篇文章将围绕仓颉语言中的类型系统展开&#xff0c;结合实战代码&#xff0c;帮助开发者快速掌握这一…...

AWTK 在全志 tina linux 上支持 2D 图形加速

全志 tina linux 2D 图形加速插件。 开发环境为 全志 Tina Linux 虚拟机。 1. 准备 下载 awtk git clone https://github.com/zlgopen/awtk.git下载 awtk-linux-fb git clone https://github.com/zlgopen/awtk-linux-fb.git下载 awtk-tina-g2d git clone https://github.co…...

MySql幻读问题

认识具有反复性。 之前以为理解了幻读&#xff0c;最近看黑马的mysql教程以为再次加深了认识。然而现在认为之前的理解都是错误的&#xff0c;而且网上很多关于幻读的解释&#xff0c;都不太准确。 关于幻读的最佳解释还是要看官网mysql官网幻读解释 脏读和不可重复读比较好理…...

(南京观海微电子)——GH7009开机黑屏案例分析

一、 现象描述&#xff1a; 不良现象: LVDS模组&#xff0c;开机大概2秒后就黑屏。 二、问题分析 等主机进入Kernel 后做以下测试&#xff1a; 1、手动reset LCM 后 可以显示正常&#xff1b; 总结&#xff1a; 1&#xff09;uboot 部分HS 太窄&#xff0c;仅有4个clk宽度&am…...

【Rust自学】7.4. use关键字 Pt.2 :重导入与换国内镜像源教程

喜欢的话别忘了点赞、收藏加关注哦&#xff0c;对接下来的教程有兴趣的可以关注专栏。谢谢喵&#xff01;(&#xff65;ω&#xff65;) 7.4.1. 使用pub use重新导入名称 使用use将路径导入作用域内后。该名称在词作用域内是私有的。 以上一篇文章的代码为例&#xff1a; m…...

前端学习DAY28(水平)

元素水平方向的布局 元素在其父元素中水平方向的位置有以下几个属性共同决定 margin-left border-left padding-left width padding-right border-right margin-right 一个元素在其父元素中&#xff0c;水平布局必须要满足以下的等式 margin-left border-left …...

【MyBatis】day01搭建MyBatis框架

目录 第一章 初识Mybatis 第二章 搭建Mybatis框架 第三章 Mybatis核心配置详解【mybatis-config.xml】 第一章 初识Mybatis 1.1 框架概述 生活中“框架” 买房子 笔记本电脑 程序中框架【代码半成品】 Mybatis框架&#xff1a;持久化层框架【dao层】 SpringMVC框架&…...

yolov7算法及其改进

yolov7算法及其改进 1、YOLOV7简介2、ELAN架构设计2.1、Partial Residual Networks2.1.1、Masked Residual Layer2.1.2、Asymmetric Residual Layer 2.2、Cross Stage Partial Networks2.2.1、Cross stage partial operation2.2.2、Gradient flow truncate operation 2.3、Effi…...

spring cloud微服务-OpenFeign的使用

OpenFeign的使用 openFeign的作用是服务间的远程调用 &#xff0c;比如通过OpenFeign可以实现调用远程服务。 已经有了LoadBalancer为什么还要用openFeign? 在微服务架构中&#xff0c;LoadBalancer和OpenFeign虽然都提供了服务间调用的能力&#xff0c;但它们的设计目的和…...

【汇编】关于函数调用过程的若干问题

1. 为什么需要bp指针&#xff1f; 因为bp是栈帧的起始地址&#xff0c;函数内的局部栈变量&#xff0c;采用相对bp的内存寻址。不能相对于sp&#xff0c;sp是一直在变的。 2. 函数调用过程&#xff1f; 函数开始&#xff0c;先压栈bp&#xff0c;保存父函数栈底指针bp&#…...

UniApp应用变现实战:用uni-ad激励视频提升用户留存与收益的配置心得

UniApp应用变现实战&#xff1a;用uni-ad激励视频提升用户留存与收益的配置心得 在移动应用生态中&#xff0c;广告变现与用户体验的平衡一直是开发者面临的难题。激励视频作为一种用户主动参与的广告形式&#xff0c;不仅能为开发者带来收益&#xff0c;还能通过奖励机制提升用…...

CloudCompare进阶指南:PoissonRecon点云重建实战技巧

1. 点云重建入门&#xff1a;为什么选择PoissonRecon&#xff1f; 刚接触三维建模的朋友可能都有这样的困惑&#xff1a;扫描仪获取的原始点云数据看起来像一团散乱的星空&#xff0c;怎么才能变成光滑的曲面模型&#xff1f;这就是点云表面重建要解决的问题。在CloudCompare的…...

达梦DCA认证必看:主从同步原理与ARCH_WAIT_APPLY参数深度实验

达梦DCA认证核心考点解析&#xff1a;主从同步机制与ARCH_WAIT_APPLY实战指南 1. 主从同步架构设计原理 达梦数据库的主从同步机制建立在MAL&#xff08;Message Automatic Load&#xff09;通信框架之上&#xff0c;这是实现高可用性的核心技术底座。通过Wireshark抓包分析可以…...

银河麒麟V4.0.2-sp4系统初始化实战:网络、DNS与软件源一站式配置指南

1. 银河麒麟V4.0.2-sp4网络配置实战 刚装完系统的银河麒麟服务器就像刚交房的新家&#xff0c;水电网络都没通。作为系统管理员&#xff0c;配置网络就是给服务器"通水电"的第一步。我遇到过不少新手直接照着网上教程操作&#xff0c;结果把网卡配置搞乱导致服务器失…...

原创:黄大年茶思屋难题揭榜第141期|5道核心题精简公开·未获技术反馈求指正

黄大年茶思屋难题揭榜第141期&#xff5c;5道核心题精简公开未获技术反馈求指正 作者&#xff1a;华夏之光永存 摘要 这五道题我们已完整解题并提交黄大年茶思屋难题揭榜&#xff0c;最终被退回&#xff0c;但平台未给出任何具体技术驳回意见、未指明缺陷、未提供修改方向。我们…...

FreeFileSync 14.9更新:多维度优化提升使用体验

FreeFileSync 14.9&#xff1a;核心功能更新亮点FreeFileSync作为一款适用于Windows、macOS和Linux的开源文件夹对比和同步软件&#xff0c;在14.9版本有了诸多重要更新。在Linux系统方面&#xff0c;支持高DPI显示器上的200%显示缩放&#xff0c;这对于使用高分辨率显示器的用…...

我的家庭影音中心进化史:从群晖到用Ubuntu+CasaOS自建,省下大几千

我的家庭影音中心进化史&#xff1a;从群晖到UbuntuCasaOS自建方案 1. 为什么放弃品牌NAS选择自建方案 三年前&#xff0c;我花了大半个月工资购入了一台群晖DS920&#xff0c;当时觉得这是家庭数据管理的终极解决方案。然而随着使用深入&#xff0c;逐渐发现品牌NAS的几大痛点…...

Alt App Installer革新:突破微软商店限制的Windows应用安装解决方案

Alt App Installer革新&#xff1a;突破微软商店限制的Windows应用安装解决方案 【免费下载链接】alt-app-installer A Program To Download And Install Microsoft Store Apps Without Store 项目地址: https://gitcode.com/gh_mirrors/alt/alt-app-installer 微软商店…...

OpenClaw+nanobot镜像:个人社交媒体监控系统搭建

OpenClawnanobot镜像&#xff1a;个人社交媒体监控系统搭建 1. 为什么需要个人社交媒体监控系统 作为一个长期关注技术趋势的博主&#xff0c;我经常需要追踪社交媒体上的热点话题和关键词变化。过去我都是手动刷新各个平台&#xff0c;不仅效率低下&#xff0c;还容易错过关…...

Play With Docker 安全最佳实践:证书管理与权限控制完全指南

Play With Docker 安全最佳实践&#xff1a;证书管理与权限控制完全指南 【免费下载链接】play-with-docker You know it, you use it, now its time to improve it. PWD!. 项目地址: https://gitcode.com/gh_mirrors/pl/play-with-docker Play With Docker&#xff08;…...