Python xlwings Excel单元格部分内容添加下划线
一、问题
xlwings的api可以实现Characters的功能,但加参数后会出错。
所以只能实现整个单元格加下划线,但无法进行部分内容加下划线。
我翻了很多文章,没有解决这个问题。
后来只能用间接的办法解决了,通过调用vba来解决。记录在此,自己以后可以看,也希望能供小伙伴们参考。
先说下xlwings的api,原理我不说了,一搜一大堆,直接上代码和链接。建议小伙伴看看,因为xlwings的api很厉害的,基本满足日常需要。
import xlwings as xw
app = xw.App(visible=True, add_book=False)
path_test = r'C:\Users\Administrator\Desktop\test.xls'
wb_test = app.books.open(path_test)
sh1 = wb_test.sheets[0]
rng = sh1.range('A1').api
# 下划线,赋值不能用xlUnderlineStyleSingle,可以用True或2
rng.Characters.Font.Underline = 2
# 如下操作会报错
rng.Characters(1, 3).Font.Underline = 2
# 或者如下操作也会报错,总之不能加参数
rng.Characters(Start:=1, Length:=3).Font.Underline = 2
关于xlwings、api、Characters参考文章(感谢各位前辈的文章):
- CSDN博主「DataLab」的原创文章,原文链接:https://blog.csdn.net/DataLab/article/details/124635690
北方的白桦林,原文链接:
http://www.360doc.com/content/19/1214/21/41651190_879770010.shtml
二、解决思路
利用xlwings调用宏:先用xlwings调宏(这里没有“用”字),然后选中要操作的单元格,再用宏(这里才“用”)对部分内容添加下划线。
1、先制作宏
- 新建含宏的Excel表格
vba.xlsm
- 插入模块
- 改模块名
改模块名为m1(建议改一下名字,这样调用方便,更重要的是office版本有中英文差别,中文是“模块1”,英文是“module1”,不改名兼容性差)
- m1中加入代码,保存
Sub underline(start, length)
ActiveCell.Characters(start:=start, length:=length).Font.underline = xlUnderlineStyleSingle
End Sub
2、导入xlwings,打开vba.xlsm,调宏
import xlwings as xw
app = xw.App(visible=True, add_book=False)
path_vba = r'C:\Users\Administrator\Desktop\vba.xlsm'
wb_vba = app.books.open(path_vba)
underline = wb_vba.macro("m1.underline")
3、打开要操作的Excel,选中要操作的单元格
path_test = r'C:\Users\Administrator\Desktop\test.xls'
wb_test = app.books.open(path_test)
wb_test.sheets[0].range('A1').select()
4、用宏
underline(2, 3)
Python xlwings Excel单元格部分内容添加下划线相关推荐
- python读取excel表格-Python读取Excel单元格的内容
python读取excel的单元格返回类型 Python通过xlrd对Excel进行读取操作时,返回的数据类型(ctype)有下面5中类型: 0 – empty:空 1 – string:字符串 2 ...
- Python读取Excel单元格的内容
xlrd读取Excel文件 python读取excel的单元格返回类型 Python通过xlrd对Excel进行读取操作时,返回的数据类型(ctype)有下面5中类型: 0 – empty:空 1 – ...
- 如何在Microsoft Excel的单元格中的部分内容添加下划线
当你处理大量文本时,很容易忽略全局,因此简单的格式化技术可以使数据更容易阅读和消化. 带下划线的文本格式是向用户强调或突出显示某些数据的好方法,使信息在Excel中脱颖而出. 你可以在整个单元格或单 ...
- python 拆分excel工作表_使用python拆分excel单元格方法
在使用python语言时,利用openpyxl库操作excel,可以用来拆分excel单元格.那么,如何拆分单元格呢? 工具/原料 python pycharm openpyxl 截图工具 WPS 笔 ...
- 总结Python设置Excel单元格样式的一切,比官方文档还详细。
Python对Excel表格处理非常方便,本文专门对Excel单元格样式设置进行总结,日常用到的设置基本都可以用openpyxl库完成. 创建一个表格 openpyxl是第三方库,如果你还没有安装,输 ...
- 总结Python设置Excel单元格样式的一切,比官方文档还详细
总结Python设置Excel单元格样式的一切,比官方文档还详细 Python对Excel表格处理非常方便,本文专门对Excel单元格样式设置进行总结,日常用到的设置基本都可以用openpyxl库完成 ...
- python实现excel单元格合并_python进行excel单元格合并逆操作
python进行excel单元格合并逆操作.利用anaconda3中的 pandas对包含合并单元格的表进行预处理,完成取消合并单元格的操作. 目标 通过处理表格A,得到表格B. 图1(通过处理表格A ...
- python 拆分excel单元格_Python Excel 单元格 拆分并填充内容,功能和的wps类似
一.实现的功能: 二.效果 1.拆分并填充前 2.拆分并填充后 三.代码 import openpyxl from copy import deepcopy # 原文:https://www.cnbl ...
- python读取excel单元格填充色rgb_Python openpyxl读取单元格字体颜色过程解析
Python openpyxl读取单元格字体颜色过程解析 问题 我试图打印some_cell.font.color.rgb并得到各种结果. 对于一些人,我得到了我想要的东西(比如" FF00 ...
最新文章
- android加载圈,SwipeRefreshLayout加载圈不会隐藏在android中
- Java黑皮书课后题第8章:*8.33(几何:多边形的子面积)一个具有四个顶点的凸多边形被分为4个三角形,编写一个程序,提示用户输入4个顶点的坐标,然后以升序显示四个三角形的面积
- 知乎超高赞:都有哪些习惯值得长期坚持?
- Android中获取应用程序(包)的信息-----PackageManager的使用(一)
- Linux rm 删除指定文件外的其他文件 方法汇总
- SSR -- 服务端渲染基础
- python文件和数据的格式化_Python文件和数据格式化(教程)
- Unity 安装个人免费版
- python3爬虫(2):使用Selenium爬取百度文库word文章
- LSB 算法matlab改进版,将二值图嵌入多张灰度图像中
- pentaho mysql_pentaho5.0.1将数据库移植成mysql
- 跨专业考计算机研究生有专业限制吗,我想跨专业考计算机专业研究生
- 线上靶机prompt.ml
- 项目经历怎么写_简历里的项目经历怎么写才能打动招生官和面试官?
- IDEA使用docker打包镜像
- 【Jmeter操作步骤】
- 性能测试工具的 Coordinated Omission 问题
- 仿百度html页面,HTML实战篇:html仿百度首页
- myeclispe 启动报错Location	Type Faceted project metadata file /farming/.settings/org.eclips
- 百度网盘 http://pandownload.com/index.html