Excel是一種常用的電子錶格軟體,廣泛應用於金融、商業和教育等領域。它提供了強大的數據處理和分析功能,可進行各種計算和公式運算,並能創建各種類型的圖表和可視化數據。Excel的靈活性使其成為處理和管理數據的重要工具。本文將介紹如何使用 Spire.XLS for Python 通過代碼創建Exce ...
Excel是一種常用的電子錶格軟體,廣泛應用於金融、商業和教育等領域。它提供了強大的數據處理和分析功能,可進行各種計算和公式運算,並能創建各種類型的圖表和可視化數據。Excel的靈活性使其成為處理和管理數據的重要工具。本文將介紹如何使用 Spire.XLS for Python 通過代碼創建Excel文件,以及讀取Excel數據。
- 使用Python創建Excel文件
- 使用Python讀取Excel文件
安裝 Spire.XLS for Python 組件
Spire.XLS for Python是一款第三方 Python Excel組件,可用於在各種 Python 平臺創建、管理、操作及轉換 Excel 文檔。要完成此任務,需要先通過以下 pip 命令將Spire.XLS for Python 和 plum-dispatch v1.7.4安裝到 VS Code中。
pip install Spire.XLS-for-Python pip install plum-dispatch==1.7.4
官網也提供了詳細安裝教程,具體可參考: 如何在 VS Code中安裝 Spire.XLS for Python
使用 Python 創建 Excel 文件
Spire.XLS for Python 提供了各種各樣的類、屬性和方法可供開發人員對工作簿、工作表、某個單元格範圍甚至指定的單元格進行操作。要創建一個Excel文件,並寫入具體數據,可參考以下Python代碼。
from spire.xls import * from spire.common import * # 創建 Workbook 對象 wb = Workbook() # 刪除預設工作表 wb.Worksheets.Clear() # 添加一個工作表並命名 sheet = wb.Worksheets.Add("銷售表") # 合併 A1:G1 單元格 sheet.Range["A1:G1"].Merge() # 在 A1 中寫入數據並設置其單元格樣式 sheet.Range["A1"].Text = "銷售明細表" sheet.Range["A1"].HorizontalAlignment = HorizontalAlignType.Center sheet.Range["A1"].VerticalAlignment = VerticalAlignType.Center sheet.Range["A1"].Style.Font.IsBold = True sheet.Range["A1"].Style.Font.Size = 13 # 設置第一行的行高 sheet.Rows[0].RowHeight = 30 # 將文本和數字寫入指定的單元格 sheet.Range["A2"].Text = "訂單編號" sheet.Range["B2"].Text = "下單日期" sheet.Range["C2"].Text = "客戶名稱" sheet.Range["D2"].Text = "產品名稱" sheet.Range["E2"].Text = "訂單金額" sheet.Range["F2"].Text = "交貨日期" sheet.Range["G2"].Text = "訂單狀態" sheet.Range["A3"].Text = "DXA-001" sheet.Range["B3"].Text = "2022/12/1" sheet.Range["C3"].Text = "客戶1" sheet.Range["D3"].Text = "產品1" sheet.Range["E3"].Text = "5000" sheet.Range["F3"].Text = "2022/12/12" sheet.Range["G3"].Text = "已完成" sheet.Range["A4"].Text = "DXA-002" sheet.Range["B4"].Text = "2022/12/1" sheet.Range["C4"].Text = "客戶2" sheet.Range["D4"].Text = "產品2" sheet.Range["E4"].Text = "3000" sheet.Range["F4"].Text = "2022/12/15" sheet.Range["G4"].Text = "進行中" sheet.Range["A5"].Text = "DXA-003" sheet.Range["B5"].Text = "2022/12/18" sheet.Range["C5"].Text = "客戶3" sheet.Range["D5"].Text = "產品3" sheet.Range["E5"].Text = "1500" sheet.Range["F5"].Text = "2022/12/28" sheet.Range["G5"].Text = "未完成" sheet.Range["A6"].Text = "DXA-004" sheet.Range["B6"].Text = "2022/12/19" sheet.Range["C6"].Text = "客戶4" sheet.Range["D6"].Text = "產品4" sheet.Range["E6"].Text = "2500" sheet.Range["F6"].Text = "2022/12/24" sheet.Range["G6"].Text = "已取消" sheet.Range["A7"].Text = "DXA-005" sheet.Range["B7"].Text = "2022/12/20" sheet.Range["C7"].Text = "客戶5" sheet.Range["D7"].Text = "產品5" sheet.Range["E7"].Text = "5000" sheet.Range["F7"].Text = "2022/1/5" sheet.Range["G7"].Text = "進行中" # 設置指定行的行高 sheet.Range["A2:G7"].RowHeight = 20 # 設置指定列的列寬 sheet.SetColumnWidth(2, 11) sheet.SetColumnWidth(3, 9) sheet.SetColumnWidth(4, 8) sheet.SetColumnWidth(6, 11) sheet.SetColumnWidth(7, 10) # 設置指定單元格範圍的邊框樣式 sheet.Range["A2:G7"].BorderAround(LineStyleType.Medium) sheet.Range["A2:G7"].BorderInside(LineStyleType.Thin) sheet.Range["A2:G2"].BorderAround(LineStyleType.Medium) sheet.Range["A2:G7"].Borders.KnownColor = ExcelColors.Black # 設置指定單元格範圍的單元格樣式 sheet.Range["A2:G2"].Style.Color = Color.get_Gold() sheet.Range["A2:G2"].Style.Font.IsBold = True # 保存文件 wb.SaveToFile("創建Excel.xlsx", FileFormat.Version2016)
生成文件:
使用 Python 讀取 Excel 數據
Spire.XLS for Python提供的 Worksheet.Range.Value 屬性能以字元串形式返回指定單元格的數字值或文本值。要讀取一個Excel工作表中的數據,可參考以下Python代碼。
from spire.xls import * from spire.common import * # 創建 Workbook 對象 wb = Workbook() # 載入一個Excel文件 wb.LoadFromFile("創建Excel.xlsx"); # 獲取第一個工作表 sheet = wb.Worksheets[0] # 獲取包含數據的單元格區域 locatedRange = sheet.AllocatedRange # 遍歷其中的行和列 for i in range(len(sheet.Rows)): for j in range(len(locatedRange.Rows[i].Columns)): # 獲取單元格的數據 print(locatedRange[i + 1, j + 1].Value + " ", end='') print("")
返回結果: