最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

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

 更新時間:2025年05月14日 14:48:01   作者:沉觴流年  
這篇文章主要介紹了python使用openpyxl實(shí)現(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 進(jìn)制表示
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)文章

  • Python 網(wǎng)頁解析HTMLParse的實(shí)例詳解

    Python 網(wǎng)頁解析HTMLParse的實(shí)例詳解

    這篇文章主要介紹了Python 網(wǎng)頁解析HTMLParse的實(shí)例詳解的相關(guān)資料,python里提供了一個簡單的解析模塊HTMLParser類,使用起來也是比較簡單的,解析語法沒有用到XPath類似的簡潔模式,需要的朋友可以參考下
    2017-08-08
  • 解決Mac下使用python的坑

    解決Mac下使用python的坑

    今天小編就為大家分享一篇解決Mac下使用python的坑,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-08-08
  • Django使用HttpResponse返回圖片并顯示的方法

    Django使用HttpResponse返回圖片并顯示的方法

    今天小編就為大家分享一篇Django使用HttpResponse返回圖片并顯示的方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-05-05
  • 九步學(xué)會Python裝飾器

    九步學(xué)會Python裝飾器

    這篇文章主要介紹了Python裝飾器的用法,以實(shí)例形式較為詳細(xì)的介紹了Python裝飾器的使用方法,需要的朋友可以參考下
    2015-05-05
  • python程序中斷然后接著中斷代碼繼續(xù)運(yùn)行問題

    python程序中斷然后接著中斷代碼繼續(xù)運(yùn)行問題

    這篇文章主要介紹了python程序中斷然后接著中斷代碼繼續(xù)運(yùn)行問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2024-02-02
  • 深入理解Python中的*args和**kwargs參數(shù)(示例代碼)

    深入理解Python中的*args和**kwargs參數(shù)(示例代碼)

    *args和**kwargs是Python函數(shù)編程中極其有用的特性,它們?yōu)楹瘮?shù)參數(shù)的處理提供了極大的靈活性和強(qiáng)大的功能,這篇文章主要介紹了Python中的*args和**kwargs參數(shù),需要的朋友可以參考下
    2024-06-06
  • Python實(shí)現(xiàn)LM算法的示例代碼

    Python實(shí)現(xiàn)LM算法的示例代碼

    L-M方法全稱Levenberg-Marquardt方法,是一種非線性最小二乘優(yōu)化算法,這篇文章整理了該算法的Python和C++實(shí)現(xiàn)方法,需要的可以參考一下
    2023-06-06
  • Python中判斷語句入門指南(if?elif?else語句)

    Python中判斷語句入門指南(if?elif?else語句)

    if elif else語句是Python中的控制語句,用于根據(jù)條件執(zhí)行不同的操作,下面這篇文章主要給大家介紹了關(guān)于Python中判斷語句入門指南(if?elif?else語句)的相關(guān)資料,文中通過實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2023-05-05
  • 解決tensorflow模型壓縮的問題_踩坑無數(shù),總算搞定

    解決tensorflow模型壓縮的問題_踩坑無數(shù),總算搞定

    這篇文章主要介紹了解決tensorflow模型壓縮的問題_踩坑無數(shù),總算搞定!希望對大家有所幫助。一起跟隨小編過來看看吧
    2021-03-03
  • Python結(jié)合SpeechRecognition和gTTS庫打造智能語音備忘錄

    Python結(jié)合SpeechRecognition和gTTS庫打造智能語音備忘錄

    這篇文章主要為大家詳細(xì)介紹了如何利用Python的SpeechRecognition和gTTS庫,打造一款集語音輸入,自動轉(zhuǎn)文字,朗讀保存于一體的智能語音備忘錄工具,感興趣的小伙伴可以了解下
    2025-04-04

最新評論

兴仁县| 佛教| 龙岩市| 大厂| 青神县| 贺州市| 汉中市| 灵武市| 正安县| 淄博市| 万安县| 堆龙德庆县| 衡阳县| 深水埗区| 南华县| 迭部县| 新安县| 通许县| 和平区| 临颍县| 延长县| 石屏县| 三亚市| 库伦旗| 高邮市| 临汾市| 容城县| 镇坪县| 洛南县| 布拖县| 阿瓦提县| 抚顺县| 景东| 安顺市| 宜兴市| 淄博市| 青阳县| 承德县| 贵州省| 平罗县| 大城县|