Python设置Excel样式
前面已经详细讲解过使用Python对Excel表格进行读、写操作,本文主要讲解下使用Python设置Excel表格的样式。
深入学习请参考openpyxl官方文档: https://openpyxl.readthedocs.io/en/stable/
import openpyxl
from openpyxl.styles import Font, Color # 设置字体、aRGB颜色
from openpyxl.styles import PatternFill, colors # 设置背景色、颜色
from openpyxl.styles import Border, Side # 设置边框
from openpyxl.styles import Alignment # 设置单元格文字对齐方式、自动换行
# 新建工作簿
wb = openpyxl.Workbook()
ws = wb.active
# 1.单元格设置字体大小、类型名称、是否加粗/斜体/删除线、颜色
ws.title = 'setFont'
ws['B3'] = 'italic24Font'
# 创建一个字体对象,设置为24pt,Italic(斜体),添加删除线(strike)
italic24Font = Font(size=24, italic=True, strike=True)
ws['B3'].font = italic24Font
ws['A1'] = 'Bold Red Times New Roman'
# 创建一个字体对象,设置为Times New Roman,加粗,红色
boldRedFont = Font(name='Times New Roman', bold=True, color='00FF0000')
ws['A1'].font = boldRedFont
# 2.单元格设置计算公式
ws = wb.create_sheet('Formula')
ws['A1'] = 200
ws['A2'] = 100
ws['A3'] = 50
ws['A4'] = 300
# 下面的计算公式与实际操作Excel表格时设置的公式相同
ws['A5'] = '= A1 + A2'
ws['A6'] = '= SUM(A1:A4)'
ws['A7'] = '= A1*A2'
ws['A8'] = '= A1/A2'
# 3.单元格设置行高、列宽
ws = wb.create_sheet('dimentions') # dimentions 尺寸
ws['A1'] = 'Tall row'
ws['B2'] = 'Wide column'
ws.row_dimensions[1].heigth = 50 # 设置第一行的行高50
ws.column_dimensions['B'].width = 20 # 设置B列的列宽20
# 4.单元格设置背景色
ws = wb.create_sheet('background')
ws['A1'] = 'Set background'
color1 = PatternFill("solid", fgColor="0099CC00")
ws['A1'].fill = color1
说明:aRGB颜色参考下方
# 5.单元格设置边ws = wb.create_sheet('frame')border = 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')) # 设置成细的,黑色边框
ws['A1'].border = border
# ws['A1:D5'].border = border
# 说明:边框的样式有很多种,可以查阅openpyxl官方文档。
# 6.设置单元格文字对齐方式
ws = wb.create_sheet('alignment_method')
ws['A1'] = "Learning cell's alignment_method"
align = Alignment(horizontal='left', vertical='center', wrap_text=True)
ws['A1'].alignment = align
# 说明:
# horizontal代表水平方向,可以左对齐left,还有居中center和右对齐right,分散对齐distributed,跨列居中centerContinuous,两端对齐justify,填充fill,常规general
# vertical代表垂直方向,可以居中center,还可以靠上top,靠下bottom,两端对齐justify,分散对齐distributed
# 自动换行:wrap_text,这是个布尔类型的参数,这个参数还可以写作wrapText
# 7.合并单元格
ws = wb.create_sheet('merge_cells')
ws.merge_cells('A1:D3')
ws['A1'] = 'Twelve cells merged together'
ws.merge_cells('C5:D5')
ws['C5'] = 'Two cells merged together'
# 8.拆分单元格
ws = wb.copy_worksheet(wb['merge_cells']) # 拷贝之前的merge_cells表单
ws.title = 'unmerge_cells'
ws.unmerge_cells('A1:D3')
ws.unmerge_cells('C5:D5')
# 9.冻结单元格
ws.freeze_panes = 'B1' # 冻结第一列
ws.freeze_panes = 'A2' # 冻结第一行
ws.freeze_panes = 'B2' # 同时冻结第一行和第一列
wb.save('style.xlsx')
执行程序后,打开生成的style.xlsx,会看到各个表单的样式设置效果:
最后,喜欢的朋友麻烦点赞、推荐给更多热爱学习朋友,更多精彩内容后续持续更新!
Python设置Excel样式的更多相关文章
- Python生成文本格式的excel\xlwt生成文本格式的excel\Python设置excel单元格格式为文本\Python excel xlwt 文本格式
Python生成文本格式的excel\xlwt生成文本格式的excel\Python设置excel单元格格式为文本\Python excel xlwt 文本格式 解决: xlwt 中设置单元格样式主要 ...
- POI 设置Excel样式(转)
POI 设置Excel样式 POI中可能会用到一些需要设置EXCEL单元格格式的操作小结: 先获取工作薄对象: HSSFWorkbook wb = new HSSFWorkbook(); HSSFSh ...
- asp.net将页面内容按需导入Excel,并设置excel样式,下载文件(解决打开格式与扩展名指定的格式不统一的问题)
//请求一个excel类 Microsoft.Office.Interop.Excel.ApplicationClass excel = null; //创建 Workbook对象 Microsoft ...
- C# worksheet设置Excel样式
1.例子导出Excel的样式 样式代码 public void Exportdatagridviewtoexcel(string Textname) { SaveFileDialog savedial ...
- C# worksheet设置Excel样式(转载)
1.例子导出Excel的样式public void Exportdatagridviewtoexcel(string Textname) { SaveFileDialog savedialog = n ...
- 20201203-6 设置excel样式【】
1-1 1 import os 2 from openpyxl import load_workbook 3 from openpyxl.styles import PatternFill, Alig ...
- Python 设置字体样式
# 1.先导入分别可指定单元格字体相关,颜色,和对齐方式的类 from openpyxl.styles import Font, colors, Alignment # 2.配置字体格式为:样式(Ti ...
- asp.net数据导出到excel表格,并设置表格样式
1.首先在项目中添加引用
- Response输出excel设置文本样式
在网上查了些Response导出excel然后设置样式的方法,发现没有一个可行的于是开始自己研究, 发现可以通过输出样式的方式进行配置,我要设置的是全文本格式在excel样式是这样的mso-numbe ...
随机推荐
- TOMCAT WEB请求乱码
post乱码: 原因: 对于POST方式,它采用的编码是由页面来决定的即ContentType("text/html; charset=GBK").当通过点击页面的submit ...
- JDK1.8源码阅读笔记(2) AtomicInteger AtomicLong AtomicBoolean原子类
JDK1.8源码阅读笔记(2) AtomicInteger AtomicLong AtomicBoolean原子类 Unsafe Java中无法直接操作一块内存区域,不能像C++中那样可以自己申请内存 ...
- python 回归分析
一.线性回归 1 绘制散点图 import matplotlib.pyplot as plt x = [5,7,8,7,2,17,2,9,4,11,12,9,6] y = [99,86,87,88,1 ...
- noip模拟35
A. 玩游戏 考场做法用双指针向两侧更新,当左段点左移一位时,如果右端点不满足条件,则跳回肯定满足的位置.复杂度玄学 题解做法是类似最长子段和,如果有一个区间和为负,则维护的指针跳过去即可 B. 排列 ...
- NOIP模拟51
樱花满地集于我心,楪舞纷飞祈愿相随 前言 太菜了,人手切掉两个题,我竟然一道都不会.. 改 T3 的时候整个人的心态都崩掉了,一部分原因可能是语文素养不高导致我看不懂题解. 另一部分可能就是系太不太好 ...
- (5)java Spring Cloud+Spring boot+mybatis企业快速开发架构之SpringCloud-Spring Boot简介
Spring Boot 是由 Pivotal 团队提供的全新框架,其设计目的是简化新 Spring 应用的初始搭建以及开发过程.该框架使用了特定的方式进行配置,从而使开发人员不再需要定义样板化的配置 ...
- django框架开发流程
python开发没有按目录划分,不像其它语言要先建一个包文件,所以python有必要先新建一个虚拟环境.这样不同的项目所依赖的环境和插件互不影响.虚拟环境的方法很多,这儿先用 virtualenv ...
- python面向对象(封装,继承,多态)
python面向对象(封装,继承,多态) 学习完本篇,你将会深入掌握 如何封装一个优雅的借口 python是如何实现继承 python的多态 封装 含义: 1.把对象的属性和方法结合成一个独立的单位, ...
- 后期静态绑定在PHP中的使用
什么叫后期静态绑定呢?其实我们在之前的文章PHP中的static中已经说过这个东西了.今天我们还是再次深入的理解一下这个概念. 首先,我们通过一段代码来引入后期静态绑定这一概念: class A { ...
- TP6自带的跨域中间件无法使用的个人解决方法
使用TP6,因为需要跨域上传图片,一直不成功,网上搜了好久,方法都没解决跨域上传文件 比如下面的方式没成功 $this->app = $app; $this->request = $thi ...