Python實(shí)現(xiàn)凍結(jié)、取消凍結(jié)和拆分Excel窗格
在處理大型 Excel 工作表時(shí),如何高效地瀏覽行和列顯得尤為重要。一旦數(shù)據(jù)量變大,滾動(dòng)查看內(nèi)容時(shí)很容易丟失表頭或關(guān)鍵標(biāo)識(shí)列。為了解決這一問(wèn)題,Excel 提供了三種非常實(shí)用的視圖功能:凍結(jié)窗格、取消凍結(jié)窗格和拆分窗格,用于提升大數(shù)據(jù)表格的可讀性和操作體驗(yàn)。
本文將詳細(xì)介紹如何使用 Python 來(lái)管理 Excel 窗格,包括:
- 凍結(jié)窗格以鎖定指定的行和列
- 取消已凍結(jié)的窗格
- 將工作表拆分為多個(gè)可獨(dú)立滾動(dòng)的窗格
這些操作在以編程方式生成 Excel 報(bào)表、數(shù)據(jù)看板以及包含大量數(shù)據(jù)的工作表時(shí)尤其實(shí)用。
了解 Excel 窗格功能
在開(kāi)始編寫代碼之前,有必要先了解這三種窗格功能之間的區(qū)別:
- 凍結(jié)窗格:在滾動(dòng)工作表時(shí),始終保持指定的行或列可見(jiàn)
- 取消凍結(jié)窗格:移除工作表中已有的凍結(jié)窗格設(shè)置
- 拆分窗格:將一個(gè)工作表劃分為多個(gè)彼此獨(dú)立滾動(dòng)的區(qū)域
根據(jù)工作表的使用場(chǎng)景不同,這些功能各自發(fā)揮著不同的作用。
前提條件
在使用 Python 對(duì) Excel 進(jìn)行凍結(jié)窗格、取消窗格或拆分窗格操作之前,請(qǐng)確保滿足以下條件:
已安裝 Python:支持 Python 3.7 及以上版本
準(zhǔn)備一個(gè)示例 Excel 文件:本文示例均基于已有的 .xlsx 文件進(jìn)行操作
安裝 Free Spire.XLS for Python:這是一個(gè)免費(fèi)的 Python Excel 文件處理庫(kù),完整支持凍結(jié)窗格和拆分窗格等視圖設(shè)置??赏ㄟ^(guò)以下命令安裝:
?pip install spire.xls.free
完成以上準(zhǔn)備后,即可通過(guò)Python 代碼來(lái)靈活控制 Excel 的窗格。
使用 Python 凍結(jié) Excel 窗格
凍結(jié)窗格最常見(jiàn)的用途是:在滾動(dòng)大量數(shù)據(jù)時(shí),始終保持表頭或關(guān)鍵標(biāo)識(shí)列可見(jiàn)。
常見(jiàn)凍結(jié)窗格場(chǎng)景
- 凍結(jié)首行(用于顯示列標(biāo)題)
- 凍結(jié)首列(用于顯示行標(biāo)識(shí))
- 同時(shí)凍結(jié)首行和首列
Python 示例:凍結(jié)窗格
from spire.xls import *
# 創(chuàng)建工作簿并加載 Excel 文件
workbook = Workbook()
workbook.LoadFromFile("示例.xlsx")
# 獲取第一個(gè)工作表
sheet = workbook.Worksheets[0]
# 凍結(jié)首行
sheet.FreezePanes(2, 1)
# 凍結(jié)首列
# sheet.FreezePanes(1, 2)
# 同時(shí)凍結(jié)首行和首列
# sheet.FreezePanes(2, 2)
# 保存文件
workbook.SaveToFile("凍結(jié)窗格.xlsx")
workbook.Dispose()說(shuō)明:
- FreezePanes(row, column) 用于指定第一個(gè)可滾動(dòng)的單元格位置
- (2, 1):凍結(jié)第 1 行
- (1, 2):凍結(jié)第 1 列
- (2, 2):同時(shí)凍結(jié)第 1 行和第 1 列
需要注意的是:同一時(shí)間只能應(yīng)用一種凍結(jié)窗格設(shè)置。
使用 Python 取消凍結(jié)窗格
如果 Excel 工作表中已經(jīng)存在凍結(jié)窗格,可以通過(guò)代碼將其移除。這在重新調(diào)整表格布局或應(yīng)用新的凍結(jié)規(guī)則時(shí)非常有用。
適用場(chǎng)景
- 重新格式化已有的工作表
- 應(yīng)用新的凍結(jié)窗格配置
- 恢復(fù)默認(rèn)的滾動(dòng)行為
Python 示例:取消凍結(jié)窗格
from spire.xls import *
# 創(chuàng)建工作簿并加載 Excel 文件
workbook = Workbook()
workbook.LoadFromFile("凍結(jié)窗格.xlsx")
# 獲取第一個(gè)工作表
sheet = workbook.Worksheets[0]
# 取消凍結(jié)窗格
sheet.RemovePanes()
# 保存文件
workbook.SaveToFile("取消凍結(jié)窗格.xlsx", ExcelVersion.Version2013)
workbook.Dispose()說(shuō)明:
- RemovePanes() 會(huì)清除工作表中所有已設(shè)置的凍結(jié)窗格
- 移除后,工作表將恢復(fù)為正常的上下左右滾動(dòng)狀態(tài)
使用 Python 拆分 Excel 窗格
與凍結(jié)窗格不同,拆分窗格會(huì)將工作表劃分為多個(gè)區(qū)域,每個(gè)區(qū)域都可以獨(dú)立滾動(dòng)。這在對(duì)比同一張表中不同位置的數(shù)據(jù)時(shí)非常有幫助。
適用場(chǎng)景
- 對(duì)比相距較遠(yuǎn)的行或列數(shù)據(jù)
- 同時(shí)查看表頭和匯總信息
- 分析大型工作表而無(wú)需復(fù)制數(shù)據(jù)
Python示例:拆分窗格
from spire.xls import *
# 創(chuàng)建工作簿并加載 Excel 文件
workbook = Workbook()
workbook.LoadFromFile("示例.xlsx")
# 獲取第一個(gè)工作表
sheet = workbook.Worksheets[0]
# 垂直和水平拆分工作表,形成四個(gè)窗格
sheet.FirstVisibleColumn = 2
sheet.FirstVisibleRow = 5
sheet.VerticalSplit = 4000
sheet.HorizontalSplit = 5000
# 設(shè)置當(dāng)前激活的窗格
sheet.ActivePane = 1
# 保存文件
workbook.SaveToFile("拆分窗格.xlsx", ExcelVersion.Version2013)
workbook.Dispose()說(shuō)明:
- VerticalSplit 和 HorizontalSplit 用于定義拆分位置
- FirstVisibleRow 和 FirstVisibleColumn 控制各窗格的可見(jiàn)起始區(qū)域
- ActivePane 用于指定當(dāng)前選中的窗格
凍結(jié)窗格 vs 拆分窗格:該如何選擇
- 使用 凍結(jié)窗格 來(lái)固定表頭或關(guān)鍵標(biāo)識(shí)列
- 使用 拆分窗格 來(lái)同時(shí)查看和對(duì)比工作表的不同區(qū)域
- 使用 取消窗格 來(lái)重置工作表視圖
不同方式適用于不同的 Excel 使用場(chǎng)景。
實(shí)用建議
- 在寫入所有數(shù)據(jù)之后再設(shè)置窗格效果
- 修改窗格前,先移除已有的窗格設(shè)置
- 報(bào)表類文件優(yōu)先使用凍結(jié)窗格,分析類文件更適合使用拆分窗格
總結(jié)
通過(guò) Python 管理 Excel 窗格,可以更精細(xì)地控制工作表的瀏覽方式和布局效果。無(wú)論是凍結(jié)行列、取消已有窗格,還是將工作表拆分為多個(gè)視圖區(qū)域,這些操作都能顯著提升 Excel 文件的可讀性和使用體驗(yàn)。
在處理大規(guī)?;蚪Y(jié)構(gòu)復(fù)雜的數(shù)據(jù)時(shí),自動(dòng)化設(shè)置窗格能讓 Excel 報(bào)表更加清晰、直觀,也更符合實(shí)際使用需求。
到此這篇關(guān)于Python實(shí)現(xiàn)凍結(jié)、取消凍結(jié)和拆分Excel窗格的文章就介紹到這了,更多相關(guān)Python管理Excel窗格內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
python判斷windows系統(tǒng)是32位還是64位的方法
這篇文章主要介紹了python判斷windows系統(tǒng)是32位還是64位的方法,實(shí)例分析了兩種解決方法,非常簡(jiǎn)單實(shí)用,需要的朋友可以參考下2015-05-05
使用Python Fast API發(fā)布API服務(wù)的過(guò)程詳解
這篇文章主要介紹了使用Python Fast API發(fā)布API服務(wù),本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2023-04-04
python獲取linux和windows系統(tǒng)指定接口的IP地址的步驟及代碼
這篇文章主要介紹了python獲取linux和windows系統(tǒng)指定接口的IP地址,本文分步驟通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2021-05-05
使用Python連接MySQL數(shù)據(jù)庫(kù)進(jìn)行編程的步驟詳解
Python數(shù)據(jù)庫(kù)編程可以使用多種模塊與API,例如SQLite、MySQL、PostgreSQL等,本教程將重點(diǎn)介紹使用Python連接MySQL數(shù)據(jù)庫(kù)進(jìn)行編程,需要的朋友可以參考下2023-06-06
python實(shí)現(xiàn)最長(zhǎng)公共子序列
這篇文章主要為大家詳細(xì)介紹了python實(shí)現(xiàn)最長(zhǎng)公共子序列的相關(guān)代碼,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2018-05-05
Pandas讀取excel合并單元格的正確方式(openpyxl合并單元格拆分并填充內(nèi)容)
Excel文件中可能包含合并單元格的數(shù)據(jù),下面這篇文章主要給大家介紹了關(guān)于Pandas讀取excel合并單元格的正確方式,主要介紹的openpyxl合并單元格拆分并填充內(nèi)容,需要的朋友可以參考下2023-06-06

