python-读写Excel:openpyxl-(2)图片、图表、批注、超链接、公式

目录

插入公式

插入时间

添加批注

设置超链接

插入图片

图表


插入公式

sht1.cell(2, 10).value = '=SUM(L1:L39)'

插入时间

sht1.cell(4, 4).value = datetime.datetime(2020, 2, 23, 10, 20, 00)
print(sht1.cell(4, 4).value)

添加批注

from openpyxl.comments import Comment

sht1.cell(2, 10).comment = Comment(text='测试添加批内容', author='批注人信息', height=90, width=150)

设置超链接

sht1.cell(2, 8).value = '点击后跳转'
sht1.cell(2, 8).hyperlink = r'C:\Users\Administrator\Desktop\testfile'  # 链接可以是文件路径或网址
sht1.cell(2, 8).hyperlink.tooltip = '超链接测试'  # 鼠标移动到超链接上时的提示信息

插入图片

from openpyxl.drawing.image import Image
from openpyxl.utils import get_column_letter

r, c = 5, 10  # 指定行列序号
col = get_column_letter(c)  # 获取列对应的字母
w, h = sht1.column_dimensions[f'{col}'].width, sht1.row_dimensions[r].height  # 获取单元格的列宽和行高
img = Image(r'C:\Users\Administrator\Desktop\testfile\测试图片\IMG_20230207_102219.jpg')
img.width, img.height = w * 8, h * 96 / 72  # 亲测按照这个比例可填充单元格

# img.ref = r'C:\Users\Administrator\Desktop\testfile\Photos\1.jpg'   # ref属性可修改目标图标位置,即替换上面Image中的图片

# 设置添加图片并设置图片位置方法1:
sht1.add_image(img, anchor=f'{col}{r}')  # anchor表示要插入图片的对应单元格位置,字母和数字构成,如C3
# 设置添加图片并设置图片位置方法2:
# coordinate = sht1.cell(r, c).coordinate  # coordinate可获取单元格字母坐标
# sht1.add_image(img, anchor=f'{coordinate}')  # anchor表示要插入图片的对应单元格位置,字母和数字构成,如C3

图表

Reference用于创建一个引用对象,该对象指向excel表格中特定区域的数据。

openpyxl可在exel中绘制的图表:面积图(AreaChart)、条形图/柱形图(BarChart)、气泡图(BubbleChart)、折线图(LineChart)、散点图(ScatterChart)、饼图(PieChart)、甜甜圈图(Donut Chart)、雷达图(Radar Chart)、股票图(Stock Chart)、曲面图(Surface Chart)

from openpyxl.chart import LineChart, Reference

chart = LineChart()  # 创建图表类型对象,此处以折线图为例
chart.title = '销售图表数据'  # 设置图表标题
chart.y_axis.title = '销售量(万元)'  # 添加Y轴标题
chart.x_axis.title = '销售时间(月)'  # 添加X轴标题

data_source = Reference(worksheet=sht1, min_row=1, min_col=1, max_row=14, max_col=10)  # 设置图表数据来源和数据统计范围
chart.add_data(data_source, from_rows=True,
               titles_from_data=True)  # 添加图表数据及设置系列名称来源(from_rows行或列,默认FALSE,取列值),给柱状图添加数据,数据源中有系列名称,系列名称来自行,第一行为系列名称
categories = Reference(worksheet=sht1, min_row=1, min_col=1, max_row=1, max_col=7)
chart.set_categories(categories)  # 设置x轴的范围,横轴坐标取值
sht1.add_chart(chart, anchor="B6")  # 将图表添加到对应工作表的指定单元格中,anchor参数为图表左上角的起始位置

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mfbz.cn/a/888958.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

笔记整理—linux进程部分(6)进程间通信、alarm和pause

两个进程间通信可能是任何两个进程间的通信(IPC)。同一个进程是在同一块地址空间中的,在不同的函数与文件以变量进程传递,也可通过形参传递。2个不同进程处于不同的地址空间,要互相通信有难度(内存隔离的原…

Awaken Likho恶意组织利用高级网络工具对俄罗斯政府发起“猛攻”

近日,俄罗斯政府机构和工业实体遭遇了一场名为“ Awaken Likho ”的网络活动攻击活动。 卡巴斯基表示,攻击者现在更倾向于使用合法MeshCentral平台的代理,而不是他们之前用来获得系统远程访问权限的UltraVNC模块。这家俄罗斯网络安全公司详细…

Golang | Leetcode Golang题解之第457题环形数组是否存在循环

题目: 题解: func circularArrayLoop(nums []int) bool {n : len(nums)next : func(cur int) int {return ((curnums[cur])%n n) % n // 保证返回值在 [0,n) 中}for i, num : range nums {if num 0 {continue}slow, fast : i, next(i)// 判断非零且方…

docker简述

1.安装dockers,配置docker软件仓库 安装,可能需要开代理,这里我提前使用了下好的包安装 启动docker systemctl enable --now docker查看是否安装成功 2.简单命令 拉取镜像,也可以提前下载使用以下命令上传 docker load -i imag…

大数据毕业设计选题推荐-B站热门视频数据分析-Python数据可视化-Hive-Hadoop-Spark

✨作者主页:IT研究室✨ 个人简介:曾从事计算机专业培训教学,擅长Java、Python、微信小程序、Golang、安卓Android等项目实战。接项目定制开发、代码讲解、答辩教学、文档编写、降重等。 ☑文末获取源码☑ 精彩专栏推荐⬇⬇⬇ Java项目 Python…

使用C语言获取iostat中的await值的方法和方案

使用C语言获取iostat中的await值的方法和方案 1. 准备工作2. 调用iostat命令并获取输出3. 解析iostat输出4. 完整实现和错误处理5. 注意事项在Linux系统中,iostat命令是sysstat软件包的一部分,用于监控系统的CPU、网卡、tty设备、磁盘、CD-ROM等设备的活动情况和负载信息。其…

鸿蒙OS投票机制

(基于openharmony5.0) 投票机制 param get | grep ohos.boot.time 图 投票机制参数图 只有当所有的投票完成,开机动画才会退出,整理需要投票的系统应用(三方应用不参与投票)如下图所示: 以进程foundation为例&…

基于Kafka2.1解读Producer原理

文章目录 前言一、Kafka Producer是什么?二、主要组件1.Kafka Producer1.1 partitioner1.2 keySerializer1.3 valueSerializer1.4 accumulator1.5 sender 2.Sender2.1 acks2.2 clientinFlightBatches 3. Selector3.1 nioSelector3.2 channels 4. 全局总览 总结 前言…

Arduino UNO R3自学笔记20 之 Arduino如何测定电机速度?

注意:学习和写作过程中,部分资料搜集于互联网,如有侵权请联系删除。 前言:在学习了Arduino的相关基础知识后,现在做个综合应用,给旋转的电机测速。 1.实验目的 测定旋转电机的转速。 2.实验器材-编码器 …

【hot100-java】二叉树的最近公共祖先

二叉树篇 我觉得是比两个节点的深度,取min(一种情况) DFS解题。 /*** Definition for a binary tree node.* public class TreeNode {* int val;* TreeNode left;* TreeNode right;* TreeNode(int x) { val x; }* }*/ clas…

力扣题11~15

题11(中等): 思路: 这种题目第一眼就是双循环,但是肯定不行滴,o(n^2)这种肯定超时,很难接受。 所以要另辟蹊径,我们先用俩指针(标志位)在最左端和最右端&am…

基于SpringBoot智能垃圾分类系统【附源码】

基于SpringBoot智能垃圾分类系统 效果如下: 系统首页界面 用户注册界面 垃圾站点页面 商品兑换页面 管理员登录界面 垃圾投放界面 物业登录界面 物业功能界图 研究背景 随着城市化进程的加速,生活垃圾的产量急剧增加,传统的垃圾分类方式已…

【C++】二叉搜索树+变身 = AVL树

🚀个人主页:小羊 🚀所属专栏:C 很荣幸您能阅读我的文章,诚请评论指点,欢迎欢迎 ~ 目录 前言一、AVL树二、AVL树的实现2.1 平衡因子2.2 旋转处理2.2.1 左单旋:插入新节点后单纯的右边高2.2.2 …

光路科技TSN交换机:驱动自动驾驶技术革新,保障高精度实时数据传输

自动驾驶技术正快速演进,对实时数据处理能力的需求激增。光路科技推出的TSN(时间敏感网络)交换机,在比亚迪最新车型中的成功应用,显著推动了这一领域的技术进步。 自动驾驶技术面临的挑战 自动驾驶系统需整合来自雷达…

大模型基础:基本概念、Prompt、RAG、Agent及多模态

随着大模型的迅猛发展,LLM 作为人工智能的核心力量,正以前所未有的方式重塑着我们的生活、学习和工作。无论是智能语音助手、自动驾驶汽车,还是智能决策系统,大模型都是幕后英雄,让这些看似不可思议的事情变为可能。本…

43 C 程序动态内存分配:内存区域划分、void 指针、内存分配相关函数(malloc、calloc、realloc、_msize、free)、内存泄漏

目录 1 C 程序内存区域划分 1.1 代码区 (Code Section) 1.2 全局/静态区 (Global/Static Section) 1.3 栈区 (Stack Section) 1.4 堆区 (Heap Section) 1.5 动态内存分配 2 void 指针(无类型指针) 2.1 void 指针介绍 2.2 void 指针的作用 2.3 …

Java基本数据类型和String类型的转换

1.基本介绍 在程序开发中,我们经常需要将基本数据类型转换成String类型。或者将String类型转为基本数据类型。 2.基本类型转String类型 语法:将 基本数据类型的值 “” 即可 3.String类型转基本数据类型 语法:通过基本类型的包装类调用…

【DataSophon】DataSophon1.2.1 整合Zeppelin并配置Hive|Trino|Spark解释器

目录 ​一、Zeppelin简介 二、实现步骤 2.1 Zeppelin包下载 2.2 work配置文件 三、配置常用解释器 3.1配置Hive解释器 3.2 配置trino解释器 3.3 配置Spark解释器 一、Zeppelin简介 Zeppelin是Apache基金会下的一个开源框架,它提供了一个数据可视化的框架&am…

浏览器动态移动的小球源码分享

浏览器动态移动的小球源码分享 <script>(function(a){var width100,height100,borderRadius100,circlefunction(){};circle.prototype{color:function(){let colour "#"Math.floor(Math.random()*255).toString(16)Math.floor(Math.random()*255).toString…

爬虫案例——爬取腾讯社招

案例需求&#xff1a; 1.爬取腾讯社招的数据&#xff08;搜索 | 腾讯招聘&#xff09;包括岗位名称链接时间公司名称 2.爬取所有页&#xff08;翻页&#xff09; 3.利用jsonpath进行数据解析 4.保存数据&#xff1a;txt文本形式和excel文件两种形式 解析&#xff1a; 1.分…