一、打开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 单元格样式相关推荐

  1. 完全解读 OpenPyXL 设置 Excel 单元格样式

    来源:Python中文社区 OpenPyXL 使您能够以多种不同的方式设置单元格的样式.样式化单元格会让您的电子表格充满魅力!这将有助于将它们与其他电子表格区分开来.但是请不要过度使用, 如果每个单元 ...

  2. 总结Python设置Excel单元格样式的一切,比官方文档还详细。

    Python对Excel表格处理非常方便,本文专门对Excel单元格样式设置进行总结,日常用到的设置基本都可以用openpyxl库完成. 创建一个表格 openpyxl是第三方库,如果你还没有安装,输 ...

  3. 总结Python设置Excel单元格样式的一切,比官方文档还详细

    总结Python设置Excel单元格样式的一切,比官方文档还详细 Python对Excel表格处理非常方便,本文专门对Excel单元格样式设置进行总结,日常用到的设置基本都可以用openpyxl库完成 ...

  4. python学习笔记 - 设置Excel单元格样式

    对openpyxl中[工作簿].[工作页].[行 / 列]与[单元格]的概念存在疑惑的可以参考<Excel工作簿.工作页.行列.单元格介绍>. 本文介绍对Excel单元格的样式进行简单调整 ...

  5. hssfrow 单元格样式_POI设置Excel单元格样式

    POI中可能会用到一些需要设置EXCEL单元格格式的操作小结: 先获取工作薄对象: HSSFWorkbook wb = new HSSFWorkbook(); HSSFSheet sheet = wb ...

  6. js vue 设置excel单元格样式_vue+elementui 项目纯前端Export2Excel导出excel,并利用xlsx-style设置单元格样式...

    1 /*eslint-disable*/ 2 require('script-loader!file-saver');3 require('./Blob.js'); //blob.js也是网上找的,下 ...

  7. xssfcellstyle设置居中_POI HSSFCellStyle 设置 Excel 单元格样式

    POI中可能会用到一些需要设置EXCEL单元格格式的操作小结: 先获取工作薄对象: HSSFWorkbook wb = new HSSFWorkbook(); HSSFSheet sheet = wb ...

  8. js vue 设置excel单元格样式_vue项目使用xlsx-style实现前端导出Excel样式修改(添加标题,边框等),并且上传npm踩坑记录...

    前段时间,我们项目提出一个前端导出Excel表格的需求, 这个很简单,利用xlsx,file-saver很容易实现(网上很多教程). 后来需要加入标题,标题居中显示,加入边框等等样式需求,这就给我很多 ...

  9. 说说如何使用 openpyxl 设置 Excel 单元格字体

    首先从 openpyxl.styles 模块中导入 Font 类: import openpyxl from openpyxl.styles import Font 然后建立 Font 对象,通过它来 ...

最新文章

  1. Understanding Ethereum Smart Contracts
  2. Python: 50个能够满足所有需要的模块
  3. tensorflow has no attribute logging
  4. 无权有向图的最短路径
  5. Winsw将jar包部署为windows服务
  6. PowerDesigner生成java类图
  7. python图片添加文字
  8. {“errcode“:40125,“errmsg“:“invalid appsecret, rid: 62735cd3-36d42de3-6f09796c“}
  9. 华为公有云服务-计算类(2)
  10. 微信小程序云开发数据库操作
  11. 【论文笔记】ParaDetox:Detoxifification with Parallel Data
  12. 【100 种语言速成】第 1 节:Python
  13. 淘宝API接口:item_get_app - 获得淘宝app商品详情原数据
  14. 移动互联网十年内难以盈利 莫盲目跟风
  15. c语言中字母与allse,六年级小学英语_所有字母组合的发音__(音标归类总结)
  16. AD18如何修改原理图页面图纸的大小
  17. Redis配置文件redis.conf内容完整版
  18. 信息安全技术之08之设备与环境安全测试卷
  19. Python网络爬虫(6)--爬取淘宝模特图片
  20. 色播病毒浅析——美玉在外 败絮其中

热门文章

  1. 仿射变换affine和透视变换
  2. OBS Studio 录制视频画面很糊,不清晰,如何解决?
  3. 解决Android studio启动模拟器一直Waiting for target device to come online的一种方式
  4. CentOS 6.5安装Nvidia显卡驱动
  5. max2 android9.0,乐视max2 安卓9.0刷机包
  6. 甲骨文UBUNTU安装宝塔面板无法访问
  7. “融晶保肾调代谢”公益健康大讲堂(第二期)在贵阳强直医院开展
  8. [NOIP2010 普及组] 三国游戏 题解
  9. 共识算法 —— PoA
  10. Unity 调用C# Speech类将文字转换为语音