Python 創建或讀取 Excel 文件

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("")

返回結果:

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章