
- 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 - 迷你圖
- 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 - 定義名稱
在 Excel 中,可以使用使用者定義的名稱來標識單元格、公式或單元格範圍,該名稱可用作變數,使公式定義易於理解。這可以使用 Workbook 類的 define_name() 方法來實現。
在下面的程式碼片段中,我們有一系列包含數字的單元格。此範圍已命名為 marks。
data=['marks',50,60,70, 'Total'] ws.write_row('A1', data) wb.define_name('marks', '=Sheet1!$A$1:$E$1')
如果名稱分配給單元格範圍,則 define_name() 方法的第二個引數是一個字串,其中包含工作表名稱,後跟“!”符號,然後使用絕對定址方案的單元格範圍。在本例中,sheet1 中的範圍 A1:E1 被命名為 marks。
此名稱可用於任何公式。例如,我們計算由名稱 marks 標識的範圍內的數字之和。
ws.write('F1', '=sum(marks)')
我們還可以在 write_formula() 方法中使用命名的單元格。在下面的程式碼中,此方法用於計算金額的利息,其中 rate 是一個定義的名稱。
ws.write('B5', 10) wb.define_name('rate', '=sheet1!$B$5') ws.write_row('A5', ['Rate', 10]) data=['Amount',1000, 2000, 3000] ws.write_column('A6', data) ws.write('B6', 'Interest') for row in range(6,9): ws.write_formula(row, 1, '= rate*$A{}/100'.format(row+1))
我們也可以使用 write_array_formula() 方法代替上面的迴圈程式碼 −
ws.write_array_formula('D7:D9' , '{=rate/100*(A7:A9)}')
示例
使用 define_name() 方法的完整程式碼如下所示 −
import xlsxwriter wb = xlsxwriter.Workbook('ex2.xlsx') ws = wb.add_worksheet() data = ['marks',50,60,70, 'Total'] ws.write_row('A1', data) wb.define_name('marks', '=Sheet1!$A$1:$E$1') ws.write('F1', '=sum(marks)') ws.write('B5', 10) wb.define_name('rate', '=sheet1!$B$5') ws.write_row('A5', ['Rate', 10]) data=['Amount',1000, 2000, 3000] ws.write_column('A6', data) ws.write('B6', 'Interest') for row in range(6,9): ws.write_formula(row, 1, '= rate*$A{}/100'.format(row+1)) wb.close()
輸出
執行上述程式,並使用 Excel 開啟 ex2.xlsx。

廣告