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

python使用openpyxl實現(xiàn)批量調(diào)整字體和樣式

 更新時間:2025年05月14日 14:48:01   作者:沉觴流年  
這篇文章主要介紹了python使用openpyxl實現(xiàn)批量調(diào)整字體和樣式,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教

使用openpyxl 批量調(diào)整字體和樣式

修改字體樣式 Font(name,size,bold,italic,color)

from openpyxl.styles import Font
from openpyxl import load_workbook

'''
Font(name=字體名稱,size=字體大小,bold=是否加粗,italic=是否斜體,color=字體顏色)
'''

workbook = load_workbook(filename="../excelDemo/testCase.xlsx")
sheet = workbook.active
cell = sheet["A1"]
font = Font(name="微軟雅黑",size=20,bold=True,italic=True,color="FF0000")
# 這個 color 是 RGB 的 16 進制表示
cell.font = font
workbook.save(filename="../excelDemo/testCase.xlsx")

效果展示:

獲取表格中格子的字體樣式

  • font.name 字體名稱
  • font.size 字體大小
  • font.bold 是否加粗 返回的是布爾值
  • font.italic 是否斜體 返回的是布爾值
  • font.color 字體顏色 返回顏色類型和相關(guān)參數(shù)
from openpyxl.styles import Font
from openpyxl import load_workbook


workbook = load_workbook(filename="../excelDemo/testCase.xlsx")
sheet = workbook.active

cell = sheet["A1"]
font = cell.font
print(font.name, font.size, font.bold, font.italic, font.color)


'''
輸出結(jié)果:
微軟雅黑 20.0 True True <openpyxl.styles.colors.Color object>
Parameters:
rgb='00FF0000', indexed=None, auto=None, theme=None, tint=0.0, type='rgb'
'''

設(shè)置對齊樣式 Alignment(horizontal,vertical,text_rotation,wrap_text)

Alignment(horizontal=水平對齊模式,vertical=垂直對齊模式,text_rotation=旋轉(zhuǎn)角度,wrap_text=是否自動換行)

  • 水平對齊:
  • horizontal代表水平方向,可以左對齊left,還有居中center和右對齊right,分散對齊distributed,跨列居中centerContinuous,兩端對齊justify,填充fill,常規(guī)general
  • 垂直對齊:
  • vertical代表垂直方向,可以居中center,還可以靠上top,靠下bottom,兩端對齊justify,分散對齊distributed
workbook = load_workbook(filename="../excelDemo/testCase.xlsx")
sheet = workbook.active

cell = sheet["A3"]
alignment = Alignment(horizontal="center",vertical="center",text_rotation=45,wrap_text=True)

cell.alignment = alignment
workbook.save(filename="../excelDemo/testCase.xlsx")

設(shè)置邊框樣式 Side(style,color)

 Side(style=邊線樣式,color=邊線顏色)
 * style 參數(shù)的種類: 'double, 'mediumDashDotDot', 'slantDashDot', 
'dashDotDot','dotted','hair', 'mediumDashed, 'dashed', 'dashDot', 'thin', 
'mediumDashDot','medium', 'thick'
 
Border(left=左邊線樣式,right=右邊線樣式,top=上邊線樣式,bottom=下邊線樣式)
from openpyxl.styles import Side,Border
from openpyxl import load_workbook


workbook = load_workbook(filename="../excelDemo/testCase.xlsx")
sheet = workbook.active

cell = sheet["D6"]
side1 = Side(style="thin",color="FF0000")
side2 = Side(style="thick",color="FFFF0000")
border = Border(left=side1,right=side1,top=side2,bottom=side2)
cell.border = border

workbook.save(filename="../excelDemo/testCase.xlsx")

展示效果:

設(shè)置填充樣式 PatternFill()、GradientFill()

語法:

  • PatternFill(fill_type=填充樣式,fgColor=填充顏色)
  • GradientFill(stop=(漸變顏色 1,漸變顏色 2……))
from openpyxl.styles import PatternFill,GradientFill
from openpyxl import load_workbook


workbook = load_workbook(filename="../excelDemo/testCase.xlsx")
sheet = workbook.active

cell_b9 = sheet["B9"]
pattern_fill = PatternFill(fill_type="solid",fgColor="99ccff")
cell_b9.fill = pattern_fill
cell_b10 = sheet["B10"]
gradient_fill = GradientFill(stop=("FFFFFF","99ccff","000000"))
cell_b10.fill = gradient_fill

workbook.save(filename="../excelDemo/testCase.xlsx")

展示效果:

設(shè)置行高和列寬

語法:

.row_dimensions[行編號].height = 行高
.column_dimensions[列編號].width = 列寬
from openpyxl import load_workbook


workbook = load_workbook(filename="../excelDemo/testCase.xlsx")
sheet = workbook.active

# 設(shè)置第 1 行的高度
sheet.row_dimensions[1].height = 50
# 設(shè)置 B 列的寬度
sheet.column_dimensions["B"].width = 20

workbook.save(filename="../excelDemo/testCase.xlsx")

也可以統(tǒng)一整張表的行高和列寬

from openpyxl import load_workbook


workbook = load_workbook(filename="../excelDemo/testCase.xlsx")
sheet = workbook.active

# 將整個表的行高設(shè)置為 50,列寬設(shè)置為 30;
sheet.row_dimensions.height = 50 
sheet.column_dimensions.width = 30 


workbook.save(filename="../excelDemo/testCase.xlsx")

合并單元格與取消合并單元格

合并單元格 merge_cells()

語法:

.merge_cells(待合并的格子編號)
.merge_cells(start_row=起始行號,start_column=起始列號,end_row=結(jié)束行號,end_column=結(jié)束列號)
from openpyxl import load_workbook


workbook = load_workbook(filename="./testCase.xlsx")
sheet = workbook.active

sheet.merge_cells("C1:D2")
sheet.merge_cells(start_row=7,start_column=1,end_row=8,end_column=3)


workbook.save(filename="./testCase.xlsx")

若合并的多個單元格中均有內(nèi)容,只保留第一個單元格中的內(nèi)容

效果如下:

取消合并單元格 unmerge_cells()

語法:

.unmerge_cells(待合并的格子編號)
.unmerge_cells(start_row=起始行號,start_column=起始列號,end_row=結(jié)束行號,end_column=結(jié)束列號)
from openpyxl import load_workbook


workbook = load_workbook(filename="./testCase.xlsx")
sheet = workbook.active

sheet.merge_cells("C1:D2")
sheet.merge_cells(start_row=7,start_column=1,end_row=8,end_column=3)


workbook.save(filename="./testCase.xlsx")

注意:取消合并單元格,不能恢復(fù)合并單元格所丟失的數(shù)據(jù)

效果如下:

總結(jié)

以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • Python3.5內(nèi)置模塊之os模塊、sys模塊、shutil模塊用法實例分析

    Python3.5內(nèi)置模塊之os模塊、sys模塊、shutil模塊用法實例分析

    這篇文章主要介紹了Python3.5內(nèi)置模塊之os模塊、sys模塊、shutil模塊用法,結(jié)合實例形式分析了Python os模塊、sys模塊及shutil模塊針對文件、路徑等相關(guān)操作技巧,需要的朋友可以參考下
    2019-04-04
  • Pytorch Conda環(huán)境下載慢換源/刪源/恢復(fù)默認源的簡單操作

    Pytorch Conda環(huán)境下載慢換源/刪源/恢復(fù)默認源的簡單操作

    隨著實驗增多,需要分割創(chuàng)建環(huán)境的情況時有出現(xiàn),在此情況下使用conda create --name xx python=3.10 pytorch torchvision pytorch-cuda -c nvidia -c pytorch -y這樣的指令創(chuàng)建時如果不換源,往往下載速度很慢,本文介紹了解決辦法,需要的朋友可以參考下
    2024-07-07
  • 詳解Python+Pyecharts實現(xiàn)漏斗圖的繪制

    詳解Python+Pyecharts實現(xiàn)漏斗圖的繪制

    漏斗圖是一個簡單的散點圖,反映研究在一定樣本量或精確性下單個研究的干預(yù)效應(yīng)估計值。本文將用Python Pyecharts實現(xiàn)漏斗圖的繪制,需要的可以參考一下
    2022-06-06
  • 使用Python實現(xiàn)一個本地視頻流媒體服務(wù)器

    使用Python實現(xiàn)一個本地視頻流媒體服務(wù)器

    你是否曾經(jīng)想過在本地網(wǎng)絡(luò)上輕松地將電腦上的視頻分享給手機或平板電腦觀看?也許你下載了一部電影,想在客廳的智能電視上播放,卻不想費力地拷貝文件,今天,小編將給大家介紹如何使用Python構(gòu)建一個簡單的本地視頻流媒體服務(wù)器,需要的朋友可以參考下
    2025-04-04
  • Python3寫入文件常用方法實例分析

    Python3寫入文件常用方法實例分析

    這篇文章主要介紹了Python3寫入文件常用方法,以實例形式較為詳細分析了常規(guī)寫入文件方法與改進方法,以及分段寫入文件的技巧,需要的朋友可以參考下
    2015-05-05
  • python實現(xiàn)一次性封裝多條sql語句(begin end)

    python實現(xiàn)一次性封裝多條sql語句(begin end)

    這篇文章主要介紹了python實現(xiàn)一次性封裝多條sql語句(begin end),具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-06-06
  • python使用jenkins發(fā)送企業(yè)微信通知的實現(xiàn)

    python使用jenkins發(fā)送企業(yè)微信通知的實現(xiàn)

    公司使用的是企業(yè)微信,因此考慮Jenkins通知企業(yè)微信機器人的實現(xiàn)方式,本文主要介紹了python使用jenkins發(fā)送企業(yè)微信通知的實現(xiàn),感興趣的可以了解一下
    2021-06-06
  • Python二次規(guī)劃和線性規(guī)劃使用實例

    Python二次規(guī)劃和線性規(guī)劃使用實例

    這篇文章主要介紹了Python二次規(guī)劃和線性規(guī)劃使用實例,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2019-12-12
  • 淺談圖像處理中掩膜(mask)的意義

    淺談圖像處理中掩膜(mask)的意義

    今天小編就為大家分享一篇淺談圖像處理中掩膜(mask)的意義,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-02-02
  • python2 與 pyhton3的輸入語句寫法小結(jié)

    python2 與 pyhton3的輸入語句寫法小結(jié)

    這篇文章主要給大家介紹了關(guān)于python2 與 pyhton3的輸入語句寫法,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2018-09-09

最新評論