欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

python中openpyxl庫設置表格樣式之字體/邊框/對齊/顏色等

 更新時間:2025年05月19日 09:43:07   作者:科雷learning  
這篇文章主要介紹了python中openpyxl庫設置表格樣式之字體/邊框/對齊/顏色等的相關資料,涉及Font、Border、Alignment等類,提供顏色、樣式參數(shù)及示例代碼,需要的朋友可以參考下

本章節(jié)主要介紹如何使用openpyxl庫設置表格中的一些樣式,比如字體,邊框,對齊方式,單元格格式,行高和列寬等。

1 安裝和使用openpyxl庫設置表格樣式

執(zhí)行pip命令安裝openpyx庫:

pip install openpyxl -i https://mirrors.aliyun.com/pypi/simple/

目前最新版本3.1.5,安裝后在styles目錄下有多個模塊

在styles目錄的文件__init__.py中導入了一些常用的類。

  • Color類: 設置顏色
  • Font類: 設置字體
  • Alignment類:設置示對齊方式
  • Border和Side:設置邊框樣式
  • PatternFill:填充單元格顏色

2 設置字體font

我們先導入Font類:

from openpyxl.styles import Font

Font類初始化函數(shù)如下:

一些常用參數(shù)具體解釋如下:

name

設置字體名稱。比如"Arial","Times New Roman","微軟雅黑",‘宋體’,‘仿宋’等

sz或者size

字體大小,比如數(shù)字11

i或者italic

是否設置斜體。

strike

是否設置刪除線。

outline

是否設置輪廓

shadow

是否設置陰影

colour

字體顏色

b或者bold

是否設置加粗

underline

是否設置下劃線

family

設置字體集。

charset

設置字符集

其中字體的顏色需要用到類openpyxl.colors.Color類

對應的一些color信息在colors.py文件最上方的元組COLOR_INDEX中有預置的顏色數(shù)據(jù)

黑色BLACK為第1個元素,白色WHITE為第2個元素,紅色RED為第3個元素等

所以顏色對象可設置為:

from openpyxl.styles import colors
#顏色設置為紅色
color_ins = colors.Color(index=2)

關于顏色的說明,參考文章最末尾。

在單元格上設置字體,完整代碼如下:

from openpyxl.styles import Font,colors
from openpyxl import Workbook
wb = Workbook()
#先創(chuàng)建1個sheet對象
sheet0 = wb.create_sheet('sheet0',0)
#單元格設置內(nèi)容
cell0 = sheet0.cell(1,1,'hello python')
#設置字體對象 顏色為紅色
font_ins = Font(name="微軟雅黑", sz=18, family=2, b=True, i=True,
color=colors.Color(index=2), scheme="minor")
#將字體對象賦予單元格
cell0.font = font_ins
#保存文件
wb.save('1.xlsx') #保存文件

結(jié)果如下:

3 設置邊框

跟設置字體一樣,我們先導入Border類和Side類:

from openpyxl.styles import Border,Side

Border類初始化函數(shù)如下:

初始化函數(shù)的常用參數(shù)解釋如下:

left

設置左邊框,為一個Side對象,可以指定邊框的樣式(如細線、粗線等)和顏色。

right

設置右邊框,同上

top

設置上邊框,同上

bottom

設置下邊框,同上

diagonal

設置對角線樣式,同上

diagonalUp

設置對角線的方向,表示從右上到左下。

diagonalDown

設置對角線的方向,表示從左上到右下。

而Side類同Border類在同一模塊文件中:

由于Border類的各個邊框?qū)傩裕╨eft、right、top、bottom等)都是Side對象,因此了解Side類的屬性也很重要:

  • style:指定邊框的樣式??蛇x值如下:

"thin":細線;"medium":中等粗細線;"thick":粗線

"double":雙線;"hair":細線;"dotted":點線

"dashDot":點劃線;"dashDotDot":雙點劃線;"dashed":虛線

"dashDotDot":雙點劃線;"mediumDashDot":中等點劃線

"mediumDashed":中等虛線;"mediumDashDotDot":中等雙點劃線

"slantDashDot":斜線點劃線

  • color:設置邊框的顏色。可以使用顏色名稱的字符串。

測試代碼如下:

from openpyxl import Workbook
from openpyxl.styles import Border, Side

# 創(chuàng)建一個新的工作簿和工作表
wb = Workbook()
sheet0 = wb.active

# 創(chuàng)建一個Border對象并設置其屬性
border = Border(
left=Side(style='thick', color='FF0000'), # 左邊框:粗線,紅色
right=Side(style='thin', color='FF0000'), # 右邊框:細線,紅色色
top=Side(style='double', color='FF0000'), # 頂部邊框:雙線,紅色
bottom=Side(style='medium', color='FF0000') # 底部邊框:粗線,紅色
diagonal=Side(style='medium', color='000000'),# 對角線:粗線,黑色
diagonalDown=True #對角線,左上到右下
)

# 將Border對象應用到單元格的邊框?qū)傩陨?
sheet0 ['A1'].border = border

# 也可以為特定區(qū)域設置邊框
for row in sheet0 ['A1:C3']:
for cell in row:
cell.border = border

# 保存工作簿
wb.save("2.xlsx")

結(jié)果:

4 設置對齊方式

跟設置字體一樣,我們先導入Alignment類

from openpyxl.styles import Alignment

Alignment類初始化函數(shù)如下:

主要屬性具體解釋如下:

horizontal

設置水平對齊方式

‘general’(默認): 一般對齊

‘left’:左對齊

‘center’:居中對齊

‘right’:右對齊

‘fill’:填充對齊

‘justify’:兩端對齊

‘centerContinuous’:連續(xù)居中對齊

‘distributed’:分散對齊

vertical

設置垂直對齊方式

‘top’:頂部對齊

‘center’:居中對齊

‘bottom’:底部對齊

‘justify’:兩端對齊

‘distributed’:分散對齊

shrinkToFit

如果為True,當文本過長時,將縮小字體以適應單元格寬度;默認為False。

textRotation或者text_rotation

設置字體旋轉(zhuǎn)方向,數(shù)值為0-180之間的數(shù)字

indent

文本縮進級別,整數(shù)值,默認為0。

wrapText或者wrap_text

是否設置自動換行

測試代碼:
from openpyxl import Workbook
from openpyxl.styles import Alignment
# 創(chuàng)建一個新的工作簿和工作表
wb = Workbook()
ws = wb.active
# 創(chuàng)建一個對齊對象并設置屬性
alignment = Alignment(horizontal='center', vertical='center', wrap_text=True, indent=1, text_rotation=20)
# 設置一個單元格對象并應用對齊方式的對象
ws['A1'] = "Hello Pyhon"
ws['A1'].alignment = alignment
# 保存工作簿到文件
wb.save('3.xlsx')
結(jié)果:

5 設置單元格數(shù)據(jù)格式

導入數(shù)據(jù)格式的字典:

from openpyxl.styles.numbers import BUILTIN_FORMATS

字典如下:

跟excel表中我們定義單元格格式中的自定義格式是一樣的

測試代碼如下:
from openpyxl import Workbook
from openpyxl.styles.numbers import BUILTIN_FORMATS
# 創(chuàng)建一個新的Excel工作簿和工作表
wb = Workbook()
ws = wb.active
# 將一些數(shù)據(jù)寫入單元格
ws['A1'] = 12345.6789
# 設置單元格A1的數(shù)字格式為帶有兩位小數(shù)的格式
ws['A1'].number_format = BUILTIN_FORMATS[2]
#填入日期
ws['B1'] = datetime(2024,11,23)
# 設置日期格式
ws['B1'].number_format = BUILTIN_FORMATS[16]
# 保存Excel文件
wb.save('4.xlsx')

結(jié)果如下:

6 設置行高和列寬

使用Worksheet對象的row_dimensions和column_dimensions屬性來設置行高和列寬。

測試代碼:

from openpyxl import Workbook
# 創(chuàng)建一個新的工作簿和工作表
wb = Workbook()
sheet = wb.active
# 設置第2行的高度為30(單位通常是磅)
sheet.row_dimensions[2].height = 30
# 設置第C列的寬度為20 (這是一個字符寬度單位,不是像素或磅)
sheet.column_dimensions['C'].width = 20
# 保存工作簿
wb.save('5.xlsx')

7 填充單元格顏色

跟設置字體一樣,我們先導入PatternFill類

from openpyxl.styles import PatternFill

PatternFill類初始化函數(shù)如下:

  • fill_type: 填充類型

None:沒有填充樣式。

solid:實心填充。

darkVertical:暗色的垂直線條填充。

darkHorizontal:暗色的水平線條填充。

darkGrid:暗色的網(wǎng)格線條填充。

darkTrellis:暗色的網(wǎng)格線條填充。

lightHorizontal:亮色的水平線條填充。

lightVertical:亮色的垂直線條填充。

lightGrid:亮色的網(wǎng)格線條填充。

lightTrellis:亮色的網(wǎng)格線條填充。

gray0625:灰色的網(wǎng)格線條填充。

lightGray:亮灰色的網(wǎng)格線條填充。

darkGray:暗灰色的網(wǎng)格線條填充。

darkUp:暗色的向上對角線條填充。

darkDown:暗色的向下對角線條填充。

darkGrid:暗色的網(wǎng)格線條填充。

darkTrellis:暗色的 trellis 網(wǎng)格線條填充。

  • start_color: 起始顏色,輸入顏色16進制的字符串。
  • end_color: 結(jié)束顏色,輸入顏色16進制的字符串。
  • fgColor:起始顏色,通常為Color對象
  • bgColor:結(jié)束顏色,通常為Color對象

測試代碼:

from openpyxl import Workbook
from openpyxl.styles import PatternFill,colors
# 創(chuàng)建一個新的工作簿和工作表
wb = Workbook()
ws = wb.active
# 選擇一個單元格并應用填充顏色
ws['A1'].fill = PatternFill(start_color="FFFF00", end_color="FFFF00", fill_type="darkUp")
# 設置單元格的值
ws['A1'] = "這是一個黃色背景的單元格"
# 選擇一個單元格并應用填充顏色
ws['A2'].fill = PatternFill(fgColor=colors.Color(indexed="778899"), bgColor=colors.Color(indexed="778899"),
fill_type="lightTrellis")
# 設置單元格的值
ws['A2'] = "這是一個淺石板灰背景的單元格"
# 選擇一個單元格并應用填充顏色
ws['A3'].fill = PatternFill(start_color="F0F8FF", end_color="F0F8FF", fill_type="solid")
# 設置單元格的值
ws['A3'] = "這是一個愛麗絲藍背景的單元格"
# 保存工作簿
wb.save("example.xlsx")

結(jié)果:

附錄

關于顏色說明

在OpenPyXL庫中,用于Excel電子表格處理時,顏色是以RGB (Red, Green, Blue) 或者 16 進制格式來表示的。16進制顏色代碼通常由#開頭,隨后跟著六個字符,前兩個代表紅色分量(00 到 FF),中間兩個代表綠色分量,最后兩個代表藍色分量(同樣范圍)。例如,#FF0000 表示紅色,#00FF00 表示綠色,#0000FF 表示藍色。

形像顏色

對應顏色

形像顏色

對應顏色

純白

FFFFFF

亮紫色

FF00FF

純黑

000000

純紫

FF00FF

象牙色

FFFFF0

純紅

FF0000

淺黃色

FFFFE0

老飾帶

FDF5E6

檸檬黃

FFFF00

淺秋麒麟黃

FAFAD2

黃色

FFFF00

亞麻布

FAF0E6

FFFAFA

古代的白色

FAEBD7

花的白色

FFFAF0

鮮肉(鮭魚)色

FA8072

檸檬薄紗

FFFACD

幽靈的白色

F8F8FF

玉米色

FFF8DC

適中的春天的綠色

F5FFFA

海貝殼

FFF5EE

白煙

F5F5F5

偏紅的淡紫色

FFF0F5

小麥色

F5DEB3

番木瓜

FFEFD5

沙棕色

F4A460

漂白的杏仁

FFEBCD

蔚藍色

F0FFFF

薄霧玫瑰

FFE4E1

蜂蜜

F0FFF0

(濃湯)乳脂,番茄等

FFE4C4

愛麗絲藍

F0F8FF

鹿皮鞋

FFE4B5

卡其布

F0E68C

Navajo白

FFDEAD

淡珊瑚色

F08080

桃色

FFDAB9

灰秋麒麟

EEE8AA

FFD700

紫羅蘭

EE82EE

粉紅

FFC0CB

深鮮肉(鮭魚)色

E9967A

淺粉色

FFB6C1

薰衣草花的淡紫色

E6E6FA

橙色

FFA500

淡青色

E1FFFF

淺鮮肉(鮭魚)色

FFA07A

結(jié)實的樹

DEB887

深橙色

FF8C00

李子

DDA0DD

珊瑚

FF7F50

Gainsboro

DCDCDC

熱情的粉紅

FF69B4

猩紅

DC143C

番茄

FF6347

蒼白的紫羅蘭紅色

DB7093

橙紅色

FF4500

秋麒麟

DAA520

深粉色

FF1493

蘭花的紫色

DA70D6

D8BFD8

淡藍色

87CEFA

淺灰色

D3D3D3

天藍色

87CEEB

曬黑

D2B48C

灰色

808080

巧克力

D2691E

橄欖綠

808000

秘魯

CD853F

紫色

800080

印度紅

CD5C5C

栗色

800000

適中的紫羅蘭紅色

C71585

綠玉

7FFFAA

銀白色

C0C0C0

查特酒綠

7FFF00

深卡其布

BDB76B

草坪綠

7CFC00

玫瑰棕色

BC8F8F

適中的板巖暗藍灰色

7B68EE

適中的蘭花紫

BA55D3

淺石板灰

778899

耐火磚

B22222

石板灰

708090

火藥藍

B0E0E6

米色(淺褐色)

6B8E23

淡鋼藍

B0C4DE

板巖暗藍灰色

6A5ACD

蒼白的綠寶石

AFEEEE

暗淡的灰色

696969

綠黃色

ADFF2F

矢車菊的藍色

6495ED

淡藍

ADD8E6

軍校藍

5F9EA0

深灰色

A9A9A9

橄欖土褐色(褐綠色)

556B2F

棕色

A52A2A

靛青

4B0082

黃土赭色

A0522D

適中的綠寶石

48D1CC

深蘭花紫

9932CC

深巖暗藍灰色

483D8B

蒼白的綠色

98FB98

鋼藍

4682B4

深藍紫色

9400D3

寶藍

4.17E+04

適中的藍紫色

9370DB

綠寶石

40E0D0

淡綠色

90EE90

春天的綠色

3CB371

深海洋綠

8FBC8F

酸橙綠

32CD32

馬鞍棕色

8B4513

深石板灰

2F4F4F

深紫色

8B008B

海洋綠

2E8B57

深紅色

8B0000

森林綠

228B22

深紫羅蘭的藍色

8A2BE2

淺海洋綠

20B2AA

道奇藍

1E90FF

深天藍

00BFFF

午夜的藍色

191970

深青色

008B8B

水綠色,青色

00FFFF

水鴨色

008080

薄荷奶油

00FF7F

深綠色

006400

綠色

00FF00

藍色

0000FF

適中的碧綠色

00FA9A

適中的藍色

0000CD

深綠寶石

00CED1

深藍色

00008B

海軍藍,深靛藍

000080

總結(jié)

到此這篇關于python中openpyxl庫設置表格樣式之字體/邊框/對齊/顏色等的文章就介紹到這了,更多相關python openpyxl庫設置表格樣式內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

  • Python?Pandas聚合函數(shù)的應用示例

    Python?Pandas聚合函數(shù)的應用示例

    Pandas是當前Python數(shù)據(jù)分析中最為重要的工具,其提供了功能強大且靈活多樣的API,可以滿足使用者在數(shù)據(jù)分析和處理中的多種選擇和實現(xiàn)方式,下面這篇文章主要給大家介紹了關于Python?Pandas聚合函數(shù)的相關資料,需要的朋友可以參考下
    2022-07-07
  • python獲取多線程及子線程的返回值

    python獲取多線程及子線程的返回值

    這篇文章主要介紹了python獲取多線程及子線程的返回值的相關資料,需要的朋友可以參考下
    2017-11-11
  • 11個Python的循環(huán)技巧分享

    11個Python的循環(huán)技巧分享

    當我們處理數(shù)據(jù)時,有時候需要創(chuàng)建多個列表以存儲不同類型或不同條件下的數(shù)據(jù),在Python中,我們可以利用循環(huán)來快速、高效地創(chuàng)建這些列表,本文將介紹如何使用循環(huán)在Python中創(chuàng)建多個列表,需要的可以參考下
    2024-04-04
  • pytorch動態(tài)網(wǎng)絡以及權重共享實例

    pytorch動態(tài)網(wǎng)絡以及權重共享實例

    今天小編就為大家分享一篇pytorch動態(tài)網(wǎng)絡以及權重共享實例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-01-01
  • pandas讀取HTML和JSON數(shù)據(jù)的實現(xiàn)示例

    pandas讀取HTML和JSON數(shù)據(jù)的實現(xiàn)示例

    Pandas可以直接讀取html和JSON數(shù)據(jù),本文就來介紹一下pandas讀取HTML和JSON數(shù)據(jù)的實現(xiàn)示例,文中通過示例代碼介紹的非常詳細,感興趣的可以了解一下
    2024-01-01
  • Python操作CSV格式文件的方法大全

    Python操作CSV格式文件的方法大全

    CSV 文件(Comma Separated Values file,即逗號分隔值文件)是一種純文本文件,它使用特定的結(jié)構來排列表格數(shù)據(jù),這篇文章主要給大家介紹了關于Python操作CSV格式文件的相關資料,需要的朋友可以參考下
    2021-07-07
  • 淺談Tensorflow 動態(tài)雙向RNN的輸出問題

    淺談Tensorflow 動態(tài)雙向RNN的輸出問題

    今天小編就為大家分享一篇淺談Tensorflow 動態(tài)雙向RNN的輸出問題,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-01-01
  • Python迭代器和生成器之迭代器協(xié)議詳解

    Python迭代器和生成器之迭代器協(xié)議詳解

    本文將詳細介紹Python的迭代器協(xié)議,包括迭代器的基本概念、如何創(chuàng)建迭代器、迭代器的高級用法,并通過一個綜合詳細的例子來展示迭代器在實際應用中的重要性,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2025-04-04
  • 一步步教你用Python實現(xiàn)2048小游戲

    一步步教你用Python實現(xiàn)2048小游戲

    相信2048這個游戲?qū)Υ蠹襾碚f一定不陌生,下面這篇文章就主要給大家介紹了怎么用Python實現(xiàn)2048小游戲,文中通過注釋與示例代碼介紹的很詳細,相信對大家的理解和學習具有一定的參考借鑒價值,有需要的朋友們一起來看看吧。
    2017-01-01
  • Python數(shù)據(jù)分析numpy文本數(shù)據(jù)讀取索引切片實例詳解

    Python數(shù)據(jù)分析numpy文本數(shù)據(jù)讀取索引切片實例詳解

    這篇文章主要為大家介紹了Python數(shù)據(jù)分析numpy文本數(shù)據(jù)讀取索引切片實例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2023-08-08

最新評論