Python結(jié)合Spire.XLS for Python實現(xiàn)高效添加與管理Excel工作表
在日常數(shù)據(jù)處理和報表生成中,我們經(jīng)常需要向已有的 Excel 文件添加新的工作表(Worksheet),或者動態(tài)創(chuàng)建包含多個工作表的 Excel 文件。本文將介紹如何使用免費庫 Free Spire.XLS for Python 通過簡潔代碼實現(xiàn) Excel 工作表的新建、批量添加、位置調(diào)整、刪除與查重等核心操作
安裝所需庫
pip install Spire.Xls.Free
基礎(chǔ)用法:新建 Excel 并添加工作表
下面的示例創(chuàng)建一個新的工作簿,刪除默認工作表,自定義工作表名稱并寫入基礎(chǔ)數(shù)據(jù),是最常用的基礎(chǔ)場景。
from spire.xls import *
# 創(chuàng)建 Workbook 對象
workbook = Workbook()
# 刪除默認生成的第一個工作表(可選)
workbook.Worksheets.Clear()
# 添加第一個工作表
sheet1 = workbook.Worksheets.Add("銷售數(shù)據(jù)")
sheet1.Range["A1"].Text = "月份"
sheet1.Range["B1"].Text = "銷售額"
# 保存文件
workbook.SaveToFile("添加工作表.xlsx", FileFormat.Version2016)
workbook.Dispose()
批量添加多個空白工作表
使用 CreateEmptySheets 方法可以一次性創(chuàng)建多個空白工作表(該方法會清空原有的所有工作表)。
from spire.xls import *
workbook = Workbook()
# 創(chuàng)建 3 個空白工作表(原有工作表將被清空)
sheetCount = 3
workbook.CreateEmptySheets(sheetCount)
# 保存結(jié)果文件
workbook.SaveToFile("多工作表示例.xlsx", ExcelVersion.Version2013)
workbook.Dispose()
向現(xiàn)有 Excel 文件添加工作表
更常見的場景是打開一個已有的 Excel 文件,然后在末尾追加新的工作表。
from spire.xls import *
# 加載現(xiàn)有文件
workbook = Workbook()
workbook.LoadFromFile("年度報告.xlsx")
# 添加新工作表
new_sheet = workbook.Worksheets.Add("第四季度數(shù)據(jù)")
new_sheet.Range["A1"].Text = "季度"
new_sheet.Range["B1"].Text = "營收"
# 寫入幾行示例數(shù)據(jù)
for i in range(1, 4):
new_sheet.Range[f"A{i+1}"].Text = f"Q{i}"
new_sheet.Range[f"B{i+1}"].NumberValue = 10000 * i
# 保存(可覆蓋原文件或另存為新文件)
workbook.SaveToFile("年度報告_更新.xlsx", FileFormat.Version2016)
workbook.Dispose()
進階操作:移動位置和刪除工作表
移動工作表順序
通過工作表的 MoveWorksheet 方法可以調(diào)整其在工作簿中的位置。參數(shù)為目標索引(從 0 開始計數(shù))。
# 獲取第一個工作表 sheet = workbook.Worksheets[0] # 將該工作表移動到索引 2 的位置(即第三個工作表) sheet.MoveWorksheet(2)
注意:執(zhí)行移動操作前需先加載或創(chuàng)建 workbook 對象。
刪除工作表
支持按索引刪除和按表名刪除兩種方式:
# 按索引刪除(刪除第一個工作表) workbook.Worksheets.RemoveAt(0) # 按名稱刪除 worksheet = workbook.Worksheets["Sheet1"] workbook.Worksheets.Remove(worksheet)
檢查工作表是否存在
在自動化腳本中,為了避免因重復添加同名工作表而報錯,可以封裝一個檢查函數(shù):
def add_sheet_if_not_exists(workbook, sheet_name):
for sheet in workbook.Worksheets:
if sheet.Name == sheet_name:
print(f"工作表 '{sheet_name}' 已存在")
return None
new_sheet = workbook.Worksheets.Add(sheet_name)
print(f"成功添加工作表 '{sheet_name}'")
return new_sheet
# 使用示例
workbook = Workbook()
workbook.LoadFromFile("數(shù)據(jù).xlsx")
add_sheet_if_not_exists(workbook, "新分析表")
workbook.SaveToFile("數(shù)據(jù)_更新.xlsx", FileFormat.Version2016)
workbook.Dispose()
注意事項
免費版限制:Free Spire.XLS for Python 的免費版本對每個工作表可處理的工作表數(shù)量和行數(shù)有一定限制。對于簡單報表和小規(guī)模數(shù)據(jù)處理完全足夠。若需要處理大量數(shù)據(jù),建議評估其他開源方案(如 openpyxl)。
文件格式:保存時建議使用 FileFormat.Version2016 或 Version2013,生成標準的 .xlsx 文件。如需保存為舊版 .xls 格式,可使用 Version97to2003。
資源釋放:操作完成后請調(diào)用 workbook.Dispose() 釋放資源,尤其在循環(huán)或批量處理場景中,以避免內(nèi)存占用。
總結(jié)
添加 Excel 工作表僅需幾行代碼:創(chuàng)建或加載 Workbook,調(diào)用 Worksheets.Add() 方法,最后保存文件。該庫提供了直觀的 API 來管理工作表名稱、位置和內(nèi)容,且代碼簡潔、無 Office 依賴,非常適合在自動化腳本、報表系統(tǒng)中快速生成多工作表 Excel。
到此這篇關(guān)于Python結(jié)合Spire.XLS for Python實現(xiàn)高效添加與管理Excel工作表的文章就介紹到這了,更多相關(guān)Python添加與管理Excel工作表內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Python實現(xiàn)輕松識別數(shù)百個快遞單號
當我們要寄出很多快遞時,為了及時反饋物流信息,需要盡快將快遞單號提取出來。這時用手動去識別真的太麻煩,所以本文將用Python實現(xiàn)輕松識別數(shù)百個快遞單號,需要的可以參考一下2022-06-06
Python使用eel模塊創(chuàng)建GUI應用程序
在Python中,有許多庫和模塊可以用來創(chuàng)建圖形用戶界面(GUI)應用程序,其中一個流行的選擇是使用eel模塊,下面小編就來為大家詳細介紹一下如何使用eel模塊創(chuàng)建GUI應用程序吧2023-12-12
解決python 讀取excel時 日期變成數(shù)字并加.0的問題
這篇文章主要介紹了python 讀取excel時, 日期變成數(shù)字并加.0的問題,本文給大家介紹的非常詳細,具有一定的參考借鑒價值,需要的朋友可以參考下2019-10-10
淺談Python小波分析庫Pywavelets的一點使用心得
這篇文章主要介紹了淺談Python小波分析庫Pywavelets的一點使用心得,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2019-07-07

