Openpyxl设置Excel 单元格样式
一、打开Excel文件
方法1: 如果Excel不存在,新建一个Excel
import openpyxl
# 新建一个Excel
wb = openpyxl.Workbook()
sheetname = wb.active
# 设置sheet 名称
sheetname.title = "first"
# 操作完最后保存
wb.save("./test.xlsx")
方法2: 如果已存在Excel,直接打开
from openpyxl import load_workbook
# 目标文件的路径
path1 = './test.xlsx'
# 打开目标文件,获取第一个sheet
wb = load_workbook(path1)
sh1 = wb[wb.sheetnames[0]]
# 保存到目标路径
wb.save(path1)
二、设置单元格样式
设置前excel 单元格:
设置后Excel单元格:
1. 设置单元格边框样式
def format_border(sh):# common borderborder = Border(left=Side(border_style='thin', color='000000'),right=Side(border_style='thin', color='000000'),top=Side(border_style='thin', color='000000'),bottom=Side(border_style='thin', color='000000'))# cell format , horizontal: 水平对齐;vertical:中心对齐;wrap_text:自动换行align = Alignment(horizontal='center', vertical='center', wrap_text=True)# set cell borderfor row in range(1, sh.max_row+1):for col in range(1, sh.max_column+1):sh.cell(row, col).border = bordersh.cell(row, col).alignment = alignreturn sh
2. 合并单元格
# merge cell
dict1 = {}
# 获取键为列值,值为对应行的字典
for cell in sh1["A"]:if cell.value:dict1[cell.value] = cell.row
# 将字典对应值拼接成单元格“A1”的样式,合并
for key in dict1:index = dict1[key]index_start = "A" + str(index)index_end = "A" + str(index+13)sh1.merge_cells(f"{index_start}:{index_end}")
3.完整代码
from openpyxl import load_workbook
from openpyxl.styles import *
import timedef format_border(sh):# common borderborder = Border(left=Side(border_style='thin', color='000000'),right=Side(border_style='thin', color='000000'),top=Side(border_style='thin', color='000000'),bottom=Side(border_style='thin', color='000000'))# set cell formatalign = Alignment(horizontal='center', vertical='center', wrap_text=True)# set cell borderfor row in range(1, sh.max_row+1):for col in range(1, sh.max_column+1):sh.cell(row, col).border = bordersh.cell(row, col).alignment = alignreturn shdef set_format():# 目标文件的路径path1 = './test.xlsx'# 打开目标文件,获取第一个sheetwb = load_workbook(path1)sh1 = wb[wb.sheetnames[0]]# 保存到目标路径wb.save(path1)# set formatformat_border(sh1)# merge celldict1 = {}# 获取键为列值,值为对应行的字典for cell in sh1["A"]:if cell.value:dict1[cell.value] = cell.row# 将字典对应值拼接成单元格“A1”的样式,合并for key in dict1:index = dict1[key]index_start = "A" + str(index)index_end = "A" + str(index+13)sh1.merge_cells(f"{index_start}:{index_end}")wb.save(f"./test_{time.strftime('%Y%m%d%H%M%S')}.xlsx")set_format()
Openpyxl设置Excel 单元格样式相关推荐
- 完全解读 OpenPyXL 设置 Excel 单元格样式
来源:Python中文社区 OpenPyXL 使您能够以多种不同的方式设置单元格的样式.样式化单元格会让您的电子表格充满魅力!这将有助于将它们与其他电子表格区分开来.但是请不要过度使用, 如果每个单元 ...
- 总结Python设置Excel单元格样式的一切,比官方文档还详细。
Python对Excel表格处理非常方便,本文专门对Excel单元格样式设置进行总结,日常用到的设置基本都可以用openpyxl库完成. 创建一个表格 openpyxl是第三方库,如果你还没有安装,输 ...
- 总结Python设置Excel单元格样式的一切,比官方文档还详细
总结Python设置Excel单元格样式的一切,比官方文档还详细 Python对Excel表格处理非常方便,本文专门对Excel单元格样式设置进行总结,日常用到的设置基本都可以用openpyxl库完成 ...
- python学习笔记 - 设置Excel单元格样式
对openpyxl中[工作簿].[工作页].[行 / 列]与[单元格]的概念存在疑惑的可以参考<Excel工作簿.工作页.行列.单元格介绍>. 本文介绍对Excel单元格的样式进行简单调整 ...
- hssfrow 单元格样式_POI设置Excel单元格样式
POI中可能会用到一些需要设置EXCEL单元格格式的操作小结: 先获取工作薄对象: HSSFWorkbook wb = new HSSFWorkbook(); HSSFSheet sheet = wb ...
- js vue 设置excel单元格样式_vue+elementui 项目纯前端Export2Excel导出excel,并利用xlsx-style设置单元格样式...
1 /*eslint-disable*/ 2 require('script-loader!file-saver');3 require('./Blob.js'); //blob.js也是网上找的,下 ...
- xssfcellstyle设置居中_POI HSSFCellStyle 设置 Excel 单元格样式
POI中可能会用到一些需要设置EXCEL单元格格式的操作小结: 先获取工作薄对象: HSSFWorkbook wb = new HSSFWorkbook(); HSSFSheet sheet = wb ...
- js vue 设置excel单元格样式_vue项目使用xlsx-style实现前端导出Excel样式修改(添加标题,边框等),并且上传npm踩坑记录...
前段时间,我们项目提出一个前端导出Excel表格的需求, 这个很简单,利用xlsx,file-saver很容易实现(网上很多教程). 后来需要加入标题,标题居中显示,加入边框等等样式需求,这就给我很多 ...
- 说说如何使用 openpyxl 设置 Excel 单元格字体
首先从 openpyxl.styles 模块中导入 Font 类: import openpyxl from openpyxl.styles import Font 然后建立 Font 对象,通过它来 ...
最新文章
- Understanding Ethereum Smart Contracts
- Python: 50个能够满足所有需要的模块
- tensorflow has no attribute logging
- 无权有向图的最短路径
- Winsw将jar包部署为windows服务
- PowerDesigner生成java类图
- python图片添加文字
- {“errcode“:40125,“errmsg“:“invalid appsecret, rid: 62735cd3-36d42de3-6f09796c“}
- 华为公有云服务-计算类(2)
- 微信小程序云开发数据库操作
- 【论文笔记】ParaDetox:Detoxifification with Parallel Data
- 【100 种语言速成】第 1 节:Python
- 淘宝API接口:item_get_app - 获得淘宝app商品详情原数据
- 移动互联网十年内难以盈利 莫盲目跟风
- c语言中字母与allse,六年级小学英语_所有字母组合的发音__(音标归类总结)
- AD18如何修改原理图页面图纸的大小
- Redis配置文件redis.conf内容完整版
- 信息安全技术之08之设备与环境安全测试卷
- Python网络爬虫(6)--爬取淘宝模特图片
- 色播病毒浅析——美玉在外 败絮其中
热门文章
- 仿射变换affine和透视变换
- OBS Studio 录制视频画面很糊,不清晰,如何解决?
- 解决Android studio启动模拟器一直Waiting for target device to come online的一种方式
- CentOS 6.5安装Nvidia显卡驱动
- max2 android9.0,乐视max2 安卓9.0刷机包
- 甲骨文UBUNTU安装宝塔面板无法访问
- “融晶保肾调代谢”公益健康大讲堂(第二期)在贵阳强直医院开展
- [NOIP2010 普及组] 三国游戏 题解
- 共识算法 —— PoA
- Unity 调用C# Speech类将文字转换为语音