openpyxl 3.0.7 中文教程
openpyxl 3.0.7 中文教程
python Execl 处理库教程 https://openpyxl-chinese-docs.readthedocs.io/zh-cn/latest/tutorial.html#id2
案例:
生成表格,设置单元格样式
from openpyxl import Workbook
from openpyxl.styles import Font, Border, Side, PatternFill# 创建一个新的工作簿
wb = Workbook()
# 获取活动的工作表
ws = wb.active# 定义表头样式
header_font = Font(color='FFFFFF', bold=True)
header_fill = PatternFill(start_color='0000FF', end_color='0000FF', fill_type='solid')
header_border = Border(left=Side(style='thick'),right=Side(style='thick'),top=Side(style='thick'),bottom=Side(style='thick'))# 定义普通单元格样式
cell_border = Border(left=Side(style='thin'),right=Side(style='thin'),top=Side(style='thin'),bottom=Side(style='thin'))# 设置表头
headers = ['姓名', '年龄', '性别']
ws.append(headers)# 应用表头样式
for cell in ws[1]:cell.font = header_fontcell.fill = header_fillcell.border = header_border# 添加一些数据行
data = [('张三', 25, '男'),('李四', 30, '女'),('王五', 28, '男')
]
for row in data:ws.append(row)# 应用普通单元格样式
for row in ws.iter_rows(min_row=2, max_row=ws.max_row, min_col=1, max_col=ws.max_column):for cell in row:cell.border = cell_border# 保存工作簿
wb.save('example.xlsx') 

生成图表
from openpyxl import Workbook
from openpyxl.chart import BarChart, Reference, Series
from openpyxl.chart.label import DataLabelList# 创建一个新的工作簿
wb = Workbook()
# 获取活动的工作表
ws = wb.active# 添加数据
data = [['月份', '产品A', '产品B', '产品C'],[1, 10, 20, 30],[2, 15, 25, 35],[3, 20, 30, 40],[4, 25, 35, 45],[5, 30, 40, 50],
]# 将数据添加到工作表中
for row in data:ws.append(row)# 创建堆叠条形图
chart = BarChart()
chart.type = "bar"
chart.grouping = "standard"# 设置数据范围
categories = Reference(ws, min_col=1, min_row=2, max_row=6)
values = Reference(ws, min_col=2, min_row=1, max_col=4, max_row=6)# 添加数据系列
chart.add_data(values, titles_from_data=True)
chart.set_categories(categories)# 设置图表标题
chart.title = "堆叠条形图"
chart.x_axis.title = "月份"
chart.y_axis.title = "销售额"# 添加值标签
for series in chart.series:series.dLbls = DataLabelList()series.dLbls.showVal = True# 设置 x 轴和 y 轴刻度
chart.y_axis.scaling.min = 0
chart.y_axis.scaling.max = 60
chart.y_axis.majorUnit = 10  # 设置 y 轴主刻度间隔为 10# 设置 x 轴刻度间隔
chart.x_axis.tickLblSkip = 1  # 每个类别都显示标签# 将图表添加到工作表中
ws.add_chart(chart, "F2")# 保存工作簿
wb.save('stacked_bar_chart_with_ticks.xlsx')
 

复制单元格样式
from openpyxl import load_workbook
from openpyxl.styles import Font, Alignment, PatternFill, Border, Sidedef copy_style(from_cell, to_cell):"""复制一个单元格的样式到另一个单元格。:param from_cell: 源单元格:param to_cell: 目标单元格"""if from_cell.has_style:to_cell.font = Font(name=from_cell.font.name,size=from_cell.font.size,bold=from_cell.font.bold,italic=from_cell.font.italic,vertAlign=from_cell.font.vertAlign,underline=from_cell.font.underline,strike=from_cell.font.strike,color=from_cell.font.color)to_cell.fill = PatternFill(fill_type=from_cell.fill.fill_type,start_color=from_cell.fill.start_color,end_color=from_cell.fill.end_color)to_cell.border = Border(left=Side(border_style=from_cell.border.left.style, color=from_cell.border.left.color),right=Side(border_style=from_cell.border.right.style, color=from_cell.border.right.color),top=Side(border_style=from_cell.border.top.style, color=from_cell.border.top.color),bottom=Side(border_style=from_cell.border.bottom.style, color=from_cell.border.bottom.color))to_cell.alignment = Alignment(horizontal=from_cell.alignment.horizontal,vertical=from_cell.alignment.vertical,text_rotation=from_cell.alignment.text_rotation,wrap_text=from_cell.alignment.wrap_text,shrink_to_fit=from_cell.alignment.shrink_to_fit,indent=from_cell.alignment.indent)# 如果需要复制数字格式等其他样式属性,可以在这里添加更多的复制操作# 加载现有的工作簿
wb = load_workbook('example.xlsx')
ws = wb.active# 假设我们要从 A1 单元格复制样式到 G1 单元格
copy_style(ws['A1'], ws['G1'])# 保存工作簿
wb.save('example_copied_styles.xlsx')
 

相关文章:
openpyxl 3.0.7 中文教程
openpyxl 3.0.7 中文教程 python Execl 处理库教程 https://openpyxl-chinese-docs.readthedocs.io/zh-cn/latest/tutorial.html#id2 案例: 生成表格,设置单元格样式 from openpyxl import Workbook from openpyxl.styles import Font, Border, Side, …...
idea开发工具使用
idea开发工具使用 1.idea下载 2.idea设置 字体 编码格式 换行 忽略大小写 自动导包 各方法之间加横线 3.快捷键 4.导入工程 5.安装scala插件 6.运行代码 7.导入jar包 8.git托管 9.打jar包...
Android map 获取值
Android Map 获取值的完整指南 在Android开发中,使用Map(映射)来存储和检索数据是非常常见的需求。Map是一种键值对集合,能够快速而高效地根据特定的键获取值。在这篇文章中,我们将深入探讨如何在Android应用中使用Ma…...
Leetcode.13 罗马数字转整数
关键词:to_string, string.size(), string.length() 1.题目 2.解答思路及解答 解答思路: 首先,罗马数字表达中和常规数学表达类似,基本是按照从后往前,从小到大排列。因此,理论上只需要从后往前相加即可。…...
骨架提取(持续更新)
一 什么是骨架提取 1.1 简介 骨架提取是图像处理或计算机视觉中的一种技术,用于从二值化图像中提取物体的中心线或轮廓,通常称为“骨架”或“细化图像”。这一技术主要用于简化形状表示,同时保留物体的拓扑结构。 这里我们强调了ÿ…...
B3622 枚举子集
1. 注意dfs内,for循环的遍历,想清楚把什么赋值给a[x] 2.本题只需要把0或1赋值给a[x]所以 #include<bits/stdc.h> using namespace std; int n; int a[20]; int vis[20]; void pr() {for (int i 1; i < n; i) {if (a[i] 0)cout << N;els…...
git submodule add用法
背景 介绍 git submodule add 命令用于将一个 Git 仓库作为子模块添加到另一个 Git 仓库中。子模块是一个独立的 Git 仓库,但它被嵌套在另一个 Git 仓库中,并且可以通过主仓库进行管理。当你需要在主项目中引用另一个项目(子模块)…...
计算机毕业设计 基于Python的汽车销售管理系统的设计与实现 Python毕业设计 Python毕业设计选题【附源码+安装调试】
博主介绍:✌从事软件开发10年之余,专注于Java技术领域、Python人工智能及数据挖掘、小程序项目开发和Android项目开发等。CSDN、掘金、华为云、InfoQ、阿里云等平台优质作者✌ 🍅文末获取源码联系🍅 👇🏻 精…...
主流的安全测试工具知识点
1. 静态应用安全测试(SAST)工具 工具示例: SonarQube: 支持多种编程语言的代码质量和安全分析。Checkmarx: 提供全面的代码扫描和漏洞检测。知识点: 分析源代码或二进制代码以发现潜在的安全漏洞。早期发现和修复代码中的安全问题,减少修复成…...
如何接入实时期货行情数据 - 2024最新教程
期货市场通过标准化合约的交易,为投资者提供了在大宗商品、金融工具等方面进行风险对冲和投机的机会。量化交易以计算机模型为核心,通过历史数据和实时数据进行分析和策略执行,减少人为情绪对交易的干扰。由于期货市场的波动性强且价格变化迅…...
通义灵码:AI 编码的强大助力
一、通义灵码简介 通义灵码是阿里云推出的智能编码辅助工具,以通义大模型为基础,提供多种强大功能助力开发者高效编码。 通义灵码集成了行级 / 函数级实时续写、自然语言生成代码、单元测试生成、代码注释生成、代码解释、研发智能问答、异常报错排查等…...
docker 容器启动详解
1.启动容器 示例 1:启动一个复杂的 Web 应用容器 docker run -d \ -p 8080:80 \ -v /data/webapp:/app \ -e APP_ENVproduction \ -e DB_HOSTdb.example.com \ -it \ --network my_network \ --name webapp_container \ --restart always \ --memory 1g \ --cpu-sh…...
【spring ai】java 实现RAG检索增强,超快速入门
rag 需求产生的背景介绍: 在使用大模型时,一个常见的问题是模型会产生幻觉(即生成的内容与事实不符),同时由于缺乏企业内部数据的支持,导致其回答往往不够精准和具体,偏向于泛泛而谈。这些问题…...
【Java SE 题库】递归的魅力之--> 汉诺塔问题
🔥博客主页🔥:【 坊钰_CSDN博客 】 欢迎各位点赞👍评论✍收藏⭐ 目录 1. 题目 2. 分析 2.1 图解 2.2 代码解析 3. 完整代码 3.1 运行截图 4. 小结 1. 题目 汉诺塔问题是一个经典的递归问题,源自一个古老的印度传…...
《为什么要在三层交换机 VLAN 上配置 IP 地址?》
如果在三层交换机上划分了 VLAN10 和 VLAN20 但没有给 IP 地址的情况下,只有相同 VLAN 的端口之间才能相互通信。 这是因为在没有为 VLAN 配置 IP 地址(即没有创建 SVI,交换虚拟接口)时,三层交换机仅作为一个二层设备…...
Git的基本使用入门
参考:Git速查 git的基本概念 git常用命令大部分是基于三大分区来执行的。先来了解一些专有名词吧。 工作区,也叫 Working Directory暂存区,也叫 stage,index版本库,也叫本地仓库,commit History 将代码推…...
Elasticsearch 入门
ES 概述 ES 是一个开源的高扩展的分布式全文搜索引擎。 倒排索引 环境准备 Elasticsearch 官方地址:https://www.elastic.co/cn/ 下载地址: 注意:9300 端口为 Elasticsearch 集群间组件的通信端口,9200 端口为浏览器访问的 h…...
WebSocket 集成 Spring Boot 的实战指南
🍁 作者:知识浅谈,CSDN签约讲师&博客专家,华为云云享专家,阿里云专家博主,InfoQ签约作者 📌 擅长领域:全栈工程师、爬虫、ACM算法,大数据,深度学习 &…...
无人机集群路径规划:四种优化算法(BKA、CO、PSO、PIO)求解无人机集群路径规划,提供MATLAB代码
一、单个无人机路径规划模型介绍 无人机三维路径规划是指在三维空间中为无人机规划一条合理的飞行路径,使其能够安全、高效地完成任务。路径规划是无人机自主飞行的关键技术之一,它可以通过算法和模型来确定无人机的航迹,以避开障碍物、优化…...
第二届 龙信杯 电子数据取证竞赛部分Writeup
大佬文章: 龙信杯复现(23、24) | BthclsBlog 手机部分 资料:2024年第二届龙信杯 WP_2024龙信杯wp-CSDN博客 1.分析手机检材,请问此手机共通过adb连接过几个设备?[标准格式:3] 2 /data/a…...
【位运算】消失的两个数字(hard)
消失的两个数字(hard) 题⽬描述:解法(位运算):Java 算法代码:更简便代码 题⽬链接:⾯试题 17.19. 消失的两个数字 题⽬描述: 给定⼀个数组,包含从 1 到 N 所有…...
三体问题详解
从物理学角度,三体问题之所以不稳定,是因为三个天体在万有引力作用下相互作用,形成一个非线性耦合系统。我们可以从牛顿经典力学出发,列出具体的运动方程,并说明为何这个系统本质上是混沌的,无法得到一般解…...
RNN避坑指南:从数学推导到LSTM/GRU工业级部署实战流程
本文较长,建议点赞收藏,以免遗失。更多AI大模型应用开发学习视频及资料,尽在聚客AI学院。 本文全面剖析RNN核心原理,深入讲解梯度消失/爆炸问题,并通过LSTM/GRU结构实现解决方案,提供时间序列预测和文本生成…...
【Redis】笔记|第8节|大厂高并发缓存架构实战与优化
缓存架构 代码结构 代码详情 功能点: 多级缓存,先查本地缓存,再查Redis,最后才查数据库热点数据重建逻辑使用分布式锁,二次查询更新缓存采用读写锁提升性能采用Redis的发布订阅机制通知所有实例更新本地缓存适用读多…...
【学习笔记】erase 删除顺序迭代器后迭代器失效的解决方案
目录 使用 erase 返回值继续迭代使用索引进行遍历 我们知道类似 vector 的顺序迭代器被删除后,迭代器会失效,因为顺序迭代器在内存中是连续存储的,元素删除后,后续元素会前移。 但一些场景中,我们又需要在执行删除操作…...
Rust 开发环境搭建
环境搭建 1、开发工具RustRover 或者vs code 2、Cygwin64 安装 https://cygwin.com/install.html 在工具终端执行: rustup toolchain install stable-x86_64-pc-windows-gnu rustup default stable-x86_64-pc-windows-gnu  2、Hello World fn main() { println…...
协议转换利器,profinet转ethercat网关的两大派系,各有千秋
随着工业以太网的发展,其高效、便捷、协议开放、易于冗余等诸多优点,被越来越多的工业现场所采用。西门子SIMATIC S7-1200/1500系列PLC集成有Profinet接口,具有实时性、开放性,使用TCP/IP和IT标准,符合基于工业以太网的…...
【字节拥抱开源】字节团队开源视频模型 ContentV: 有限算力下的视频生成模型高效训练
本项目提出了ContentV框架,通过三项关键创新高效加速基于DiT的视频生成模型训练: 极简架构设计,最大化复用预训练图像生成模型进行视频合成系统化的多阶段训练策略,利用流匹配技术提升效率经济高效的人类反馈强化学习框架&#x…...
在MobaXterm 打开图形工具firefox
目录 1.安装 X 服务器软件 2.服务器端配置 3.客户端配置 4.安装并打开 Firefox 1.安装 X 服务器软件 Centos系统 # CentOS/RHEL 7 及之前(YUM) sudo yum install xorg-x11-server-Xorg xorg-x11-xinit xorg-x11-utils mesa-libEGL mesa-libGL mesa-…...
MySQL 数据库深度剖析:事务、SQL 优化、索引与 Buffer Pool
在当今数据驱动的时代,数据库作为数据存储与管理的核心,其性能与可靠性至关重要。MySQL 作为一款广泛使用的开源数据库,在众多应用场景中发挥着关键作用。在这篇博客中,我将围绕 MySQL 数据库的核心知识展开,涵盖事务及…...
