前面已经详细讲解过使用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样式的更多相关文章

  1. Python生成文本格式的excel\xlwt生成文本格式的excel\Python设置excel单元格格式为文本\Python excel xlwt 文本格式

    Python生成文本格式的excel\xlwt生成文本格式的excel\Python设置excel单元格格式为文本\Python excel xlwt 文本格式 解决: xlwt 中设置单元格样式主要 ...

  2. POI 设置Excel样式(转)

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

  3. asp.net将页面内容按需导入Excel,并设置excel样式,下载文件(解决打开格式与扩展名指定的格式不统一的问题)

    //请求一个excel类 Microsoft.Office.Interop.Excel.ApplicationClass excel = null; //创建 Workbook对象 Microsoft ...

  4. C# worksheet设置Excel样式

    1.例子导出Excel的样式 样式代码 public void Exportdatagridviewtoexcel(string Textname) { SaveFileDialog savedial ...

  5. C# worksheet设置Excel样式(转载)

    1.例子导出Excel的样式public void Exportdatagridviewtoexcel(string Textname) { SaveFileDialog savedialog = n ...

  6. 20201203-6 设置excel样式【】

    1-1 1 import os 2 from openpyxl import load_workbook 3 from openpyxl.styles import PatternFill, Alig ...

  7. Python 设置字体样式

    # 1.先导入分别可指定单元格字体相关,颜色,和对齐方式的类 from openpyxl.styles import Font, colors, Alignment # 2.配置字体格式为:样式(Ti ...

  8. asp.net数据导出到excel表格,并设置表格样式

    1.首先在项目中添加引用

  9. Response输出excel设置文本样式

    在网上查了些Response导出excel然后设置样式的方法,发现没有一个可行的于是开始自己研究, 发现可以通过输出样式的方式进行配置,我要设置的是全文本格式在excel样式是这样的mso-numbe ...

随机推荐

  1. vue ele 日期时间格式限制不能早于当天,时间转换成时间戳 进行比较

    <el-date-picker             value-format="yyyy-MM-dd HH:mm:ss"             v-model=&quo ...

  2. vue 引用省市区三级联动(插件)

    vue 用省市区三级联动之傻瓜式教程(复制粘贴即用) npm 下载 npm install v-distpicker --save main.js //引入 省市区三级联动 import Distpi ...

  3. shell传参和变量赋值

    1.变量赋值方式 (1)方式1--直接赋值(=) (2)方式2--read交互式赋值 (3)方式3--脚本传参赋值 2.read read -p "请输入你的名字和年龄:" nam ...

  4. 20210811 Dove 打扑克,Cicada 与排序,Cicada 拿衣服

    考场 开考感觉 T3 比较可做.T1 看上去不难但毫无思路. 先想了 25min T3,想到一个确定左端点,二分最长的右端点,甚至想到了用猫树维护区间 or and...上厕所回来发现假了,没有单调性 ...

  5. 初学AOP小结

    Spring AOP理解 参考链接 AOP简介 AOP(面向切面编程),可以说时OOP的补充,使用OOP时,我们在日常编写代码的时候,一旦牵涉到大型一点的项目,项目不可或缺的事务处理,安全处理,验证处 ...

  6. 支持Cron表达式、间隔时间的工具(TaskScheduler)

    后台任务如何支持间隔时间.Cron表达式两种方式? 分享一个项目TaskScheduler,这是我从Furion项目中拷出来的 源码:https://gitee.com/dot-net-core/ta ...

  7. Spring Boot 2.x 之 Logging

    [源起] 最近在看Apollo的源码,发现其all-in-one项目的脚本demo.sh在执行的时候,竟然没有向控制台输出Spring Boot的日志. 我们修改后构建的Fat Jar,在启动时却打印 ...

  8. PTA——c++基本输入输出

    1.使用提取符(<<)可以输出各种基本数据类型的变量的值,也可以输出指针值.(T) 2.预定义的插入符从键盘上接收数据是不带缓冲区的.(F) 3.使用操作符setw对数据进行格式输出时,需 ...

  9. 简单入门PHP中的多字节字符串操作

    什么是多字节的字符串操作呢?其实不少的同学可能都已经使用过了,但我们还是要从最基础的问题说起. 一个字符占几个字节并不是我们表面上看到的那样.正常情况下,一个数字或英文以及英文符号都是占用一个字节的. ...

  10. PHP中的MySQLi扩展学习(五)MySQLI_STMT对象操作

    就像 PDO 中的 PDO_Statment 对象一样,MySQLI_STMT 对象也是一个预处理语句所形成的对象,专门用来操作 MySQLi 所生成的预处理语句的.其实操作方式之类也都比较相似,不外 ...