关于Python里xlwings库对Excel表格的操作(二十八)

2024-01-03 11:52

本文主要是介绍关于Python里xlwings库对Excel表格的操作(二十八),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

这篇小笔记主要记录如何【如何使用“Chart类”和“Api类"为新图表设置标题文本内容、字体、字号、粗细、正斜、颜色】

前面的小笔记已整理成目录,可点链接去目录寻找所需更方便。
【目录部分内容如下】【点击此处可进入目录】
(1)如何安装导入xlwings库;
(2)如何在Wps下使用xlwings中使用WPS对表格操作;
(3)如何安装导入xlwings库、如何用xlwings打开要操作的Excel表格;
(4)如何使用xlwings对Excel表格数据进行读取操作;
(5)如何使用xlwings对Excel表格进行“保存”或“另存为”操作;
(6) 如何使用xlwings对Excel表格进行写入数据操作;
(7)如何使用xlwings向Excel表格中写入Excel公式;
(8)如何使用xlwings库中的“name"函数和“replace”函数对工作表进行改名;

。。。。。。等等
【如何使用“Chart类”和“Api类"为新图表设置标题文本内容、字体、字号、粗细、正斜、颜色】

一、用“.charts.add”创建新图表;

二、用“.charts.name”重命名新图表;

三、用“.charts.set_source_data(数据区域)”设置图表的数据源;

四、用“.Charts.chart_type='参数'”设置图表类型;

五、用“.api[1].HasTitle = True ”设置图表标题是否显示;

六、用“.ChartTitle.Text = "图表标题"” 设置标题文本内容;

七、用“.api[1].ChartTitle.Font.Name='字体名称'”设置标题文本字体;

八、用“.api[1].ChartTitle.Font.Size=数值”设置标题文本字号;

九、用“.api[1].ChartTitle.Font.Bold=布尔值”设置标题文本粗细;

十、用“.api[1].ChartTitle.Font.Italic=布尔值”设置标题文本正斜;

十一、用“.api[1].ChartTitle.Font.Color=(RGB值)”或“.api[1].ChartTitle.Font.ColorIndex=颜色系列号”设置标题文本颜色;

【1】Work_Chart.api[1].ChartTitle.Font.Name='华文琥珀'

#“ChartTitle.Font.Name”是设置图表标题“字体名称”,若无设置则是读取。

Work_Chart.api[1].ChartTitle.Font.Size=16

#“ChartTitle.Font.Size”是设置图表标题“字体大小”,若无设置则是读取。

【2】Work_Chart.api[1].ChartTitle.Font.Bold=True

# 设置是否加粗(True设为粗体,False取消粗体)

#“ChartTitle.Font.Bold”是设置图表标题“字体是否加粗”,若无设置则是读取。  

【3】Work_Chart.api[1].ChartTitle.Font.Italic=True

# 设置是否斜体(True设为斜体,False设为正体)

#“ChartTitle.Font.Italic”是设置图表标题“字体是否斜体”,若无设置则是读取。    

【4】Work_Chart.api[1].ChartTitle.Font.ColorIndex=3

#“ChartTitle.Font.Color”是设置图表标题“字体颜色”,若无设置则是读取。

#指定颜色可以用“Color=(RGB值)”或“ColorIndex=系列号”

#“ColorIndex=3”是指用系列号指定颜色为红色,因为它的颜色选择是非全区域色,所以有时候用RGB来指定时会没有这颜色。

#符部分颜色系列号:1黑、2白、3红、4鲜绿、5蓝、6黄、7粉红、8青绿、9深红、10绿、11深蓝、12深黄

【举例说说更直观】

'''
【如何使用“Chart类”和“Api类"为新图表设置标题文本内容、字体、字号、粗细、正斜、颜色】
一、用“.charts.add”创建新图表;
二、用“.charts.name”重命名新图表;
三、用“.charts.set_source_data(数据区域)”设置图表的数据源;
四、用“.Charts.chart_type='参数'”设置图表类型; 
五、用“.api[1].HasTitle = True ”设置图表标题是否显示;
六、用“.ChartTitle.Text = "图表标题"” 设置标题文本内容;
七、用“.api[1].ChartTitle.Font.Name='字体名称'”设置标题文本字体;
八、用“.api[1].ChartTitle.Font.Size=数值”设置标题文本字号;
九、用“.api[1].ChartTitle.Font.Bold=布尔值”设置标题文本粗细;
十、用“.api[1].ChartTitle.Font.Italic=布尔值”设置标题文本正斜;
十一、用“.api[1].ChartTitle.Font.Color=(RGB值)”或“.api[1].ChartTitle.Font.ColorIndex=颜色系列号”设置标题文本颜色;
然后是保存,关闭。
'''
import xlwings as xw
app=xw.App(visible=False,add_book=False)
app.display_alerts=False               #关闭各种提示信息,可以提高运行速度
File_Name='E:/素材/学生成绩表.xls'
#打开要处理的Excel文件名
Work_Book=app.books.open(File_Name)      
#打开要处理的Excel文件中的工作簿
Work_Sheet=Work_Book.sheets[0]      
#打开要处理的Excel工作簿中的工作表;
#“[0]”是指定打开最靠前的第1份工作表,也可以把“0”写成要打开的指定要打开的“工作表的名称”;
#现在只打开这一个工作表也相当于激活这工作表,后面没有打开激活另一工作表,则所有操作只对现这工作表起作用。Work_Chart= Work_Sheet.charts.add(left=450, top=1, width=300, height=200)
#新建一个图表,并设置位置和大小(“left”与左边的距离,“top”与顶边的距离,“width”图表的长,“height”图表的高)
Work_Chart.name='学生成绩图表'  
# 为图表命名,相当于把工作表默认的“Sheet1”重命名为其它名称一样。  
Chart_Data=Work_Sheet.range('B1:F9')  
# 指定统计成图表的数据,数据区域中最左边列和最顶部行作为坐标轴  
Work_Chart.set_source_data(Chart_Data)  
# 设置数据源
Work_Chart.chart_type='line'        
# 设置图表类型(如折线型,直方图型等),若无设置则是读取。 
#附部分图表类型:
#line折线图、3d_line三维折线图、line_stacked堆积折线图、line_stacked_100百分比堆积折线图、line_markers数据点折线图、line_markers_stacked数据点堆积折线图、line_markers_stacked_100数据点百分比堆积折线图、
#column_clustered柱形图(簇状形)、column_stacked柱形图(堆积形)、column_stacked_100柱形图(百分比堆积形)、
#3d_column_clustered柱形图(三维簇状形)、3d_column_stacked柱形图(三维堆积形)、3d_column_stacked_100柱形图(三维百分比堆积形)、3d_column柱形图(三维柱形图)
#pie饼图、3d_pie三维饼图、pie_of_pie复合饼图、pie_exploded分离形饼图、3d_pie_exploded三维分离形饼图、bar_of_pie复合条饼图
Work_Chart.api[1].HasTitle = True
#“api[1]”是指使用win32com与Excel交互,“[0]”是调用EXCEL版本说明,“[1]”只是版权说明,两个都无实质用处但不能省。  
#“.HasTitle”通过API设置标题可见性(打开显示是True,关闭显示是False。这是一个例子,具体设置可能因 Excel 版本而异)  
Work_Chart.api[1].ChartTitle.Text = " 学 生 成 绩 图 表 顶 标 题"  
#“api[1]”是指使用win32com与Excel交互,“[0]”是调用EXCEL版本说明,“[1]”只是版权说明,两个都无实质用处但不能省。 
#“.ChartTitle.Text = "图表标题"” 通过API设置标题文本,若无设置则是读取。
Chart_R_type=Work_Chart.chart_type
#“chart_type”是设置图表类型(如折线型,直方图型等),若无设置则是读取。
Chart_R_text=Work_Chart.api[1].ChartTitle.Text
#“ChartTitle.Text”是设置图表标题,若无设置则是读取。
Chart_R_text_Font_Name=Work_Chart.api[1].ChartTitle.Font.Name
#“ChartTitle.Font.Name”是设置图表标题“字体名称”,若无设置则是读取。
Chart_R_text_Font_Size=Work_Chart.api[1].ChartTitle.Font.Size
#“ChartTitle.Font.Size”是设置图表标题“字体大小”,若无设置则是读取。
Chart_R_text_Font_Bold=Work_Chart.api[1].ChartTitle.Font.Bold
# 设置是否加粗(True设为粗体,False取消粗体)
#“ChartTitle.Font.Bold”是设置图表标题“字体是否加粗”,若无设置则是读取。  
Chart_R_text_Font_Italic=Work_Chart.api[1].ChartTitle.Font.Italic
# 设置是否斜体(True设为斜体,False设为正体)
#“ChartTitle.Font.Italic”是设置图表标题“字体是否斜体”,若无设置则是读取。    
Chart_R_text_Font_Color=Work_Chart.api[1].ChartTitle.Font.Color
#“ChartTitle.Font.Color”是设置图表标题“字体颜色”,若无设置则是读取。
#指定颜色可以用“Color=(RGB值)”或“ColorIndex=系列号”
#“ColorIndex=3”是指用系列号指定颜色,因为它的颜色选择是非全区域色,所以有时候用RGB来指定时会没有这颜色。
#符部分颜色系列号:1黑、2白、3红、4鲜绿、5蓝、6黄、7粉红、8青绿、9深红、10绿、11深蓝、12深黄
print(f'图表原类型(如折线型,直方图型等):{Chart_R_type}')
print(f'图表原标题: {Chart_R_text}')
print(f'图表原标题字体名称: {Chart_R_text_Font_Name}')
print(f'图表原标题字体字号: {Chart_R_text_Font_Size}')
print(f'图表原标题字体粗细: {Chart_R_text_Font_Bold} (True设为粗体,False取消粗体)')
print(f'图表原标题字体正斜: {Chart_R_text_Font_Italic} (True设为斜体,False设为正体)')
print(f'图表原标题字体颜色: {Chart_R_text_Font_Color}')
print()Work_Chart.api[1].ChartTitle.Font.Name='华文琥珀'
#“ChartTitle.Font.Name”是设置图表标题“字体名称”,若无设置则是读取。
Work_Chart.api[1].ChartTitle.Font.Size=16
#“ChartTitle.Font.Size”是设置图表标题“字体大小”,若无设置则是读取。
Work_Chart.api[1].ChartTitle.Font.Bold=True
# 设置是否加粗(True设为粗体,False取消粗体)
#“ChartTitle.Font.Bold”是设置图表标题“字体是否加粗”,若无设置则是读取。  
Work_Chart.api[1].ChartTitle.Font.Italic=True
# 设置是否斜体(True设为斜体,False设为正体)
#“ChartTitle.Font.Italic”是设置图表标题“字体是否斜体”,若无设置则是读取。    
Work_Chart.api[1].ChartTitle.Font.ColorIndex=3
#“ChartTitle.Font.Color”是设置图表标题“字体颜色”,若无设置则是读取。
#指定颜色可以用“Color=(RGB值)”或“ColorIndex=系列号”
#“ColorIndex=3”是指用系列号指定颜色,因为它的颜色选择是非全区域色,所以有时候用RGB来指定时会没有这颜色。
#符部分颜色系列号:1黑、2白、3红、4鲜绿、5蓝、6黄、7粉红、8青绿、9深红、10绿、11深蓝、12深黄Chart_Name=Work_Sheet.charts[0]
# “charts[0]”是指获取“Work_Sheet”指定工作表中的第1份图表的名称及。
print(f'显示当前激活的工作表及其里面的第1份图表名称:{Chart_Name}')
Chart_Name_1=Work_Sheet.charts[0].name
# “charts[0]”是指获取“Work_Sheet”指定工作表中的第1份图表的名称(只有名称)
print(f'只显示第1份图表的名称:{Chart_Name_1}')
Chart_Title=Work_Chart.api[1].ChartTitle.Text
#“api[1]”是指使用win32com与Excel交互,“[0]”是调用EXCEL版本说明,“[1]”只是版权说明,两个都无实质用处但不能省。 
#用“.ChartTitle.Text”读取图表标题并赋给变量。
print(f'第1份图表的标题是:{Chart_Title}')
Chart_R_text_Font_Name_1=Work_Chart.api[1].ChartTitle.Font.Name
#“ChartTitle.Font.Name”是设置图表标题“字体名称”,若无设置则是读取。
Chart_R_text_Font_Size_1=Work_Chart.api[1].ChartTitle.Font.Size
#“ChartTitle.Font.Size”是设置图表标题“字体大小”,若无设置则是读取。
Chart_R_text_Font_Bold_1=Work_Chart.api[1].ChartTitle.Font.Bold
# 设置是否加粗(True设为粗体,False取消粗体)
#“ChartTitle.Font.Bold”是设置图表标题“字体是否加粗”,若无设置则是读取。  
Chart_R_text_Font_Italic_1=Work_Chart.api[1].ChartTitle.Font.Italic
# 设置是否斜体(True设为斜体,False设为正体)
#“ChartTitle.Font.Italic”是设置图表标题“字体是否斜体”,若无设置则是读取。    
Chart_R_text_Font_Color_1=Work_Chart.api[1].ChartTitle.Font.Color
#“ChartTitle.Font.Color”是设置图表标题“字体颜色”,若无设置则是读取。
#指定颜色可以用“Color=(RGB值)”或“ColorIndex=系列号”
#“ColorIndex=3”是指用系列号指定颜色,因为它的颜色选择是非全区域色,所以有时候用RGB来指定时会没有这颜色。
#符部分颜色系列号:1黑、2白、3红、4鲜绿、5蓝、6黄、7粉红、8青绿、9深红、10绿、11深蓝、12深黄
print(f'图表标题(重新设置后)字体名称: {Chart_R_text_Font_Name_1}')
print(f'图表标题(重新设置后)字体字号: {Chart_R_text_Font_Size_1}')
print(f'图表标题(重新设置后)字体粗细: {Chart_R_text_Font_Bold_1} (True设为粗体,False取消粗体)')
print(f'图表标题(重新设置后)字体正斜: {Chart_R_text_Font_Italic_1} (True设为斜体,False设为正体)')
print(f'图表标题(重新设置后)字体颜色: {Chart_R_text_Font_Color_1}')
print()
Work_Book.save()
#保存改动的工作簿。若无保存,则上述操作会随着工作簿的关闭而作废不保存。
Work_Book.close()
#关闭工作簿。
app.quit()
#退出Office软件,不驻留后台。

【运行前的表格】

【运行后的表格】

【终端显示的结果】

这篇关于关于Python里xlwings库对Excel表格的操作(二十八)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/565612

相关文章

Python FastAPI+Celery+RabbitMQ实现分布式图片水印处理系统

《PythonFastAPI+Celery+RabbitMQ实现分布式图片水印处理系统》这篇文章主要为大家详细介绍了PythonFastAPI如何结合Celery以及RabbitMQ实现简单的分布式... 实现思路FastAPI 服务器Celery 任务队列RabbitMQ 作为消息代理定时任务处理完整

Python Websockets库的使用指南

《PythonWebsockets库的使用指南》pythonwebsockets库是一个用于创建WebSocket服务器和客户端的Python库,它提供了一种简单的方式来实现实时通信,支持异步和同步... 目录一、WebSocket 简介二、python 的 websockets 库安装三、完整代码示例1.

揭秘Python Socket网络编程的7种硬核用法

《揭秘PythonSocket网络编程的7种硬核用法》Socket不仅能做聊天室,还能干一大堆硬核操作,这篇文章就带大家看看Python网络编程的7种超实用玩法,感兴趣的小伙伴可以跟随小编一起... 目录1.端口扫描器:探测开放端口2.简易 HTTP 服务器:10 秒搭个网页3.局域网游戏:多人联机对战4.

使用Python实现快速搭建本地HTTP服务器

《使用Python实现快速搭建本地HTTP服务器》:本文主要介绍如何使用Python快速搭建本地HTTP服务器,轻松实现一键HTTP文件共享,同时结合二维码技术,让访问更简单,感兴趣的小伙伴可以了... 目录1. 概述2. 快速搭建 HTTP 文件共享服务2.1 核心思路2.2 代码实现2.3 代码解读3.

Python使用自带的base64库进行base64编码和解码

《Python使用自带的base64库进行base64编码和解码》在Python中,处理数据的编码和解码是数据传输和存储中非常普遍的需求,其中,Base64是一种常用的编码方案,本文我将详细介绍如何使... 目录引言使用python的base64库进行编码和解码编码函数解码函数Base64编码的应用场景注意

Python基于wxPython和FFmpeg开发一个视频标签工具

《Python基于wxPython和FFmpeg开发一个视频标签工具》在当今数字媒体时代,视频内容的管理和标记变得越来越重要,无论是研究人员需要对实验视频进行时间点标记,还是个人用户希望对家庭视频进行... 目录引言1. 应用概述2. 技术栈分析2.1 核心库和模块2.2 wxpython作为GUI选择的优

Mysql表的简单操作(基本技能)

《Mysql表的简单操作(基本技能)》在数据库中,表的操作主要包括表的创建、查看、修改、删除等,了解如何操作这些表是数据库管理和开发的基本技能,本文给大家介绍Mysql表的简单操作,感兴趣的朋友一起看... 目录3.1 创建表 3.2 查看表结构3.3 修改表3.4 实践案例:修改表在数据库中,表的操作主要

C# WinForms存储过程操作数据库的实例讲解

《C#WinForms存储过程操作数据库的实例讲解》:本文主要介绍C#WinForms存储过程操作数据库的实例,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、存储过程基础二、C# 调用流程1. 数据库连接配置2. 执行存储过程(增删改)3. 查询数据三、事务处

Java使用Curator进行ZooKeeper操作的详细教程

《Java使用Curator进行ZooKeeper操作的详细教程》ApacheCurator是一个基于ZooKeeper的Java客户端库,它极大地简化了使用ZooKeeper的开发工作,在分布式系统... 目录1、简述2、核心功能2.1 CuratorFramework2.2 Recipes3、示例实践3

Java利用JSONPath操作JSON数据的技术指南

《Java利用JSONPath操作JSON数据的技术指南》JSONPath是一种强大的工具,用于查询和操作JSON数据,类似于SQL的语法,它为处理复杂的JSON数据结构提供了简单且高效... 目录1、简述2、什么是 jsONPath?3、Java 示例3.1 基本查询3.2 过滤查询3.3 递归搜索3.4