- Python XlsxWriter 教程
- Python XlsxWriter - 首頁
- Python XlsxWriter - 概述
- Python XlsxWriter - 環境設定
- Python XlsxWriter - Hello World
- Python XlsxWriter - 重要類
- Python XlsxWriter - 單元格表示法和範圍
- Python XlsxWriter - 定義名稱
- Python XlsxWriter - 公式和函式
- Python XlsxWriter - 日期和時間
- Python XlsxWriter - 表格
- Python XlsxWriter - 應用篩選器
- Python XlsxWriter - 字型和顏色
- Python XlsxWriter - 數字格式
- Python XlsxWriter - 邊框
- Python XlsxWriter - 超連結
- Python XlsxWriter - 條件格式化
- Python XlsxWriter - 新增圖表
- Python XlsxWriter - 圖表格式化
- Python XlsxWriter - 圖表圖例
- Python XlsxWriter - 條形圖
- Python XlsxWriter - 折線圖
- Python XlsxWriter - 餅圖
- Python XlsxWriter - Sparklines(迷你圖)
- Python XlsxWriter - 資料驗證
- Python XlsxWriter - 大綱和分組
- Python XlsxWriter - 凍結和拆分窗格
- Python XlsxWriter - 隱藏/保護工作表
- Python XlsxWriter - 文字框
- Python XlsxWriter - 插入圖片
- Python XlsxWriter - 頁面設定
- Python XlsxWriter - 頁首和頁尾
- Python XlsxWriter - 單元格批註
- Python XlsxWriter - 使用 Pandas
- Python XlsxWriter - VBA 宏
- Python XlsxWriter 有用資源
- Python XlsxWriter - 快速指南
- Python XlsxWriter - 有用資源
- Python XlsxWriter - 討論
Python XlsxWriter - 凍結和拆分窗格
freeze_panes() 方法
XlsxWriter 庫中 Worksheet 物件的freeze_panes() 方法將工作表劃分為水平或垂直區域,稱為窗格,並“凍結”其中一個或兩個窗格,以便當我們向下滾動或向右滾動時,窗格(分別為頂部或左側)保持靜止。
該方法需要引數row 和col 來指定拆分的位置。需要注意的是,拆分是在單元格的頂部或左側指定的,並且該方法使用基於零的索引。如果不想進行垂直或水平拆分,可以將其中一個 row 和 col 引數設定為零。
示例
以下示例中的工作表在每一行中顯示列號的遞增倍數,以便每個單元格顯示行號和列號的乘積。
import xlsxwriter
wb = xlsxwriter.Workbook('hello.xlsx')
worksheet = wb.add_worksheet()
format1=wb.add_format({'bg_color':'#D9D9D9', 'bold':True})
for col in range(0, 15):
worksheet.write(0, col, col+1, format1)
for row in range(1, 51):
for col in range(0,15):
if col==0:
worksheet.write(row,col,(col+1)*(row + 1), format1)
else:
worksheet.write(row,col,(col+1)*(row + 1))
# Freeze pane on the top row.
worksheet.freeze_panes(1, 0)
wb.close()
輸出
然後,我們凍結頂行窗格。因此,開啟工作表後,如果單元格指標向下滾動,頂行始終保留在工作表上。
類似地,我們可以使第一列保持靜止。
# Freeze pane on the first column. worksheet.freeze_panes(0, 1)
以下螢幕截圖顯示列 A即使我們向右滾動也始終可見。
透過將 freeze_panes() 方法中的 row 和 column 引數設定為 1,頂部行和最左側列都將凍結。
# Freeze pane on the first row, first column. worksheet.freeze_panes(1, 1)
開啟生成的工作表並四處滾動單元格游標。您會發現,已格式化為粗體並帶有背景色的頂行和最左側列中的行號和列號始終可見。
split_panes() 方法
split_panes() 方法也將其工作表劃分為水平或垂直區域,稱為窗格,但與freeze_panes() 方法不同的是,窗格之間的拆分將對使用者可見,並且每個窗格將具有自己的捲軸。
該方法具有引數“y”和“x”,用於指定拆分的垂直和水平位置。這些引數以 Excel 使用的行高和列寬表示。行高和列寬的預設值為行 15 和列 8.43。
如果不想進行垂直或水平拆分,可以將其中一個“y”和“x”引數設定為零。
要在第 10 行和第 7 列建立拆分,請如下使用split_panes() 方法:
worksheet.split_panes(15*10, 8.43*7)
您將在工作表的第 10 行和第 7 列找到分隔線。您可以將窗格滾動到垂直分隔線的左側和右側,以及水平分隔線的頂部和底部。請注意,其他窗格將保持不變。
示例
以下是建立分隔線的完整程式碼,以及輸出:
import xlsxwriter
wb = xlsxwriter.Workbook('hello.xlsx')
worksheet = wb.add_worksheet()
format1=wb.add_format({'bg_color':'#D9D9D9', 'bold':True})
for col in range(0, 15):
worksheet.write(0, col, col+1, format1)
for row in range(1, 51):
for col in range(0,15):
if col==0:
worksheet.write(row,col,(col+1)*(row + 1), format1)
else:
worksheet.write(row,col,(col+1)*(row + 1))
worksheet.split_panes(15*10, 8.43*7)
wb.close()
輸出
執行程式碼並使用 Excel 開啟hello.xlsx。我們可以看到,工作表在第 10 行和第 7 列被拆分為不同的窗格。