跳過到頁腳內容
使用 IRONXL FOR PYTHON

如何在 Python 中匯出到 Excel

Python 的靈活性也體現在其與流行的電子表格程式 Excel 的無縫整合上。 它為開發者提供了多種選擇,可以使用各種開源工具有效地使用 Python 將資料匯出到 Excel(XLSX 檔案)。 本文將探討 IronXL 作為 Python 函式庫的強大效能,它能夠取代 C# 函式庫將資料匯出到 Excel 目標檔。

如何使用 Python 將資料匯出到 Excel

若要使用 Python 將資料匯出到 Excel,請依照下列步驟操作:

  1. 導入所需的庫。
  2. 準備或檢索您的資料。
  3. 建立用於匯出資料的 Workbook 或 DataFrame 物件。
  4. 用你的資料填充物件。
  5. 使用適當的方法將物件儲存到 Excel 檔案中。
  6. (可選)關閉檔案或執行其他操作。

貓熊

Pandas是一個功能強大的 Python 包,用於處理資料分析和缺失資料表示。 它的眾多功能之一是支援將資料匯出到 Excel。 Pandas 提供了一種簡單的方法,可以使用to_excel()函數將 DataFrame 匯出到 Excel 檔案。 開發人員可以變更匯出設置,包括工作表名稱、是否包含索引、可選列標籤和格式選項。 由於 Pandas 可以與其他資料處理功能交互,因此建議使用 Pandas 將結構化資料匯出到 Excel。

如何使用 Python 將資料匯出到 Excel:圖 1 - Pandas

OpenPyXL

OpenPyXL軟體套件專門用於在 Python 程式碼中使用 Excel 檔案。 OpenPyXL 的運作層級比 Pandas 更低,這使得開發人員能夠更精確地控制 Excel 文件的格式和內容。 使用者可以使用 OpenPyXL 以程式設計方式產生多個工作表,並編輯和匯出 Excel 檔案。 對於需要進行複雜 Excel 操作的活動,例如動態插入公式、圖表和格式設定功能,此軟體套件非常適用。 儘管 OpenPyXL 的學習曲線比 Pandas 更陡峭,但它在 Excel 匯出操作方面提供了無可比擬的多功能性。

如何使用 Python 將資料匯出到 Excel:圖 2 - OpenPyXL

XlsxWriter

使用名為XlsxWriter的 Python 程式庫建立 Excel 文件,重點在於節省記憶體和提高效能。 該庫可以輕鬆處理大型資料集,並快速產生複雜的 Excel 文件。 XlsxWriter 支援多種功能,例如儲存格合併、圖表產生和工作表格式設定。 由於其最佳化的架構,XlsxWriter 是需要快速匯出 Excel 的場景(例如批次作業和資料密集型應用程式)的最佳選擇。

如何使用 Python 將資料匯出到 Excel:圖 3 - XlsxWriter

xlrd 和 xlwt

xlrdxlwt是同系列的函式庫,分別允許你在 Python 中讀取和寫入 Excel 檔案。 即使這些庫的主要目的是處理較舊的 Excel 文件格式(如 .xls),它們在某些情況下仍然很有用。 xlrd 和 xlwt 對於必須使用舊版 Excel 檔案格式或舊系統的開發人員來說非常有用。 然而,由於 Pandas、OpenPyXL 或 XlsxWriter 的功能和性能有所提高,因此通常建議對較新的 Excel 格式 (.xlsx) 使用它們。

如何使用 Python 將資料匯出到 Excel:圖 4 - xlrd

塔布利布

Tablib是一個靈活的函式庫,可以處理多種不同格式的表格數據,包括 Excel 格式。 Tablib 是一款功能豐富的工具,可將資料匯出至 Excel 檔案; 但是,它的功能不如 Pandas 或 OpenPyXL 豐富。 對於需要輕鬆匯出各種格式資料的開發人員來說,Tablib 提供了一個方便的解決方案,支援多種輸出格式,例如 Excel、CSV 和 JSON。 Tablib 是一款輕量級軟體,介面友好,是小規模 Excel 匯出作業或需要多格式資料匯出功能的專案的理想選擇。

如何使用 Python 將資料匯出到 Excel:圖 5 - Tablib

IronXL。

輕鬆管理 Excel 檔案對於許多 C# 程式應用程式至關重要,例如資料處理和報表建立。 其中一個強大的選擇是IronXL ,它為開發人員提供了一個全面的工具包,可以輕鬆處理 Excel 檔案。 本文將探討 IronXL 的功能,並向您展示它在 Excel 自動化任務方面如何能很好地取代 Python 函式庫。

  • IronXL 是一個知名的 C# Excel 電子表格庫,適用於 .NET Core 和 .NET Framework。
  • IronXL 支援幾乎所有 .NET Framework,例如 Web 應用程式、Windows 窗體應用程式和控制台應用程式。
  • IronXL 相容的作業系統包括 Windows、Linux 和 macOS 等。
  • 使用 IronXL 讀取 Excel 檔案既快速又方便。 IronXL 可以讀取多種 Excel 檔案類型,包括 XLSX 檔案、XLS 檔案、CSV 檔案、TSV 檔案、XLST 檔案、XLSM 檔案等。 此外,我們還可以編輯、匯出和匯入資料集。
  • 我們可以使用 IronXL 匯出和儲存具有許多其他後綴的文件,例如 XLS、逗號分隔值檔案、TSV、JSON 等。
  • IronXL 可以在 Excel 中進行計算並設定 Excel 工作表的儲存格格式。 IronXL 支援多種 Excel 欄位資料類型,包括文字、整數、公式、日期、貨幣和百分比。

想了解更多關於IronXL的信息,請點擊此處

安裝 IronXL

使用命令列,請依照以下步驟安裝 IronXL。

在 Visual Studio 中,前往"工具"->"NuGet 套件管理器"->"套件管理器控制台"。

在軟體包管理器的控制台標籤中輸入以下語法:

pip install IronXL

該軟體包下載並安裝到目前專案後即可使用。

匯出到 Excel 文件

使用 IronXL,建立 CSV 檔案的資料表既簡單又快速。 它便於將資料寫入新的 CSV 檔案。

我們首先必須引入 IronXL 命名空間,這樣才能在我們的程式碼中使用它的類別和方法。

以下是使用 IronXL 將 DataTable 匯出到 Excel 檔案的範例程式碼:

using IronXL;
using IronXL.Formatting;
using System.Data;

public class ExcelExporter
{
    public static void Main(string[] args)
    {
        ExportToExcel("H:\\test.xls");
    }

    public static void ExportToExcel(string filePath)
    {
        // Create a DataTable and define columns
        DataTable table = new DataTable();
        table.Columns.Add("DataSet_Fruits", typeof(string));

        // Adding rows to the DataTable
        table.Rows.Add("Apple");
        table.Rows.Add("Orange");
        table.Rows.Add("Strawberry");
        table.Rows.Add("Grapes");
        table.Rows.Add("Watermelon");
        table.Rows.Add("Bananas");
        table.Rows.Add("Lemons");

        // Create a workbook and set the format to XLS
        WorkBook workbook = WorkBook.Create(ExcelFileFormat.XLS);
        var worksheet = workbook.CreateWorkSheet("Sheet1");

        // Add the DataTable data to the worksheet
        int rowCount = 0;
        foreach (DataRow row in table.Rows)
        {
            worksheet["A" + (rowCount + 1)].Value = row[0].ToString();
            rowCount++;
        }

        // Save the workbook to the specified file path
        workbook.SaveAs(filePath);
    }
}
using IronXL;
using IronXL.Formatting;
using System.Data;

public class ExcelExporter
{
    public static void Main(string[] args)
    {
        ExportToExcel("H:\\test.xls");
    }

    public static void ExportToExcel(string filePath)
    {
        // Create a DataTable and define columns
        DataTable table = new DataTable();
        table.Columns.Add("DataSet_Fruits", typeof(string));

        // Adding rows to the DataTable
        table.Rows.Add("Apple");
        table.Rows.Add("Orange");
        table.Rows.Add("Strawberry");
        table.Rows.Add("Grapes");
        table.Rows.Add("Watermelon");
        table.Rows.Add("Bananas");
        table.Rows.Add("Lemons");

        // Create a workbook and set the format to XLS
        WorkBook workbook = WorkBook.Create(ExcelFileFormat.XLS);
        var worksheet = workbook.CreateWorkSheet("Sheet1");

        // Add the DataTable data to the worksheet
        int rowCount = 0;
        foreach (DataRow row in table.Rows)
        {
            worksheet["A" + (rowCount + 1)].Value = row[0].ToString();
            rowCount++;
        }

        // Save the workbook to the specified file path
        workbook.SaveAs(filePath);
    }
}
Imports IronXL
Imports IronXL.Formatting
Imports System.Data

Public Class ExcelExporter
	Public Shared Sub Main(ByVal args() As String)
		ExportToExcel("H:\test.xls")
	End Sub

	Public Shared Sub ExportToExcel(ByVal filePath As String)
		' Create a DataTable and define columns
		Dim table As New DataTable()
		table.Columns.Add("DataSet_Fruits", GetType(String))

		' Adding rows to the DataTable
		table.Rows.Add("Apple")
		table.Rows.Add("Orange")
		table.Rows.Add("Strawberry")
		table.Rows.Add("Grapes")
		table.Rows.Add("Watermelon")
		table.Rows.Add("Bananas")
		table.Rows.Add("Lemons")

		' Create a workbook and set the format to XLS
		Dim workbook As WorkBook = WorkBook.Create(ExcelFileFormat.XLS)
		Dim worksheet = workbook.CreateWorkSheet("Sheet1")

		' Add the DataTable data to the worksheet
		Dim rowCount As Integer = 0
		For Each row As DataRow In table.Rows
			worksheet("A" & (rowCount + 1)).Value = row(0).ToString()
			rowCount += 1
		Next row

		' Save the workbook to the specified file path
		workbook.SaveAs(filePath)
	End Sub
End Class
$vbLabelText   $csharpLabel

在上面的程式碼範例中,我們將資料表匯出到 Excel 檔案。數據表已初始化並填充了表示水果列表的數據。 我們使用WorkBook.Create()方法建立一個新的 Excel 工作簿,並使用循環將 DataTable 中的資料新增至工作簿。最後,使用SaveAs()方法將工作簿儲存到指定的檔案路徑。

如何使用 Python 將資料匯出到 Excel:圖 7 - 工作表輸出

以上是運行程式碼範例的輸出結果。 截圖中顯示的是資料表中每一個資訊分別加入到新建立的 Excel 表格中。

要了解有關 IronXL 程式碼範例的更多信息,請點擊此處

結論

Python 的開源 Excel 匯出模組使開發人員能夠有效率地完成各種任務,包括建立複雜的 Excel 報表、處理重要資訊以及與舊版 Excel 格式進行互動。 開發人員可以透過利用這些軟體套件的功能和最佳實踐來提高基於 Python 的應用程式的開發效率,並優化 Excel 匯出工作流程。

IronXL 是 C# 開發人員匯出 Excel 資料的強大替代方案,它提供完全的 Excel 相容性、卓越的效能以及與 .NET 框架的流暢整合。 IronXL 透過其使用者友善的 API 和對 Excel 文件的精細控制,簡化了在 C# 中匯出 Excel 文件的過程。 這使得開發人員能夠創建動態的 Excel 報表、資料視覺化等等。 無論 C# 開發人員是在創建桌面應用程式、線上應用程式還是行動應用程序,他們都可以依靠 IronXL 來簡化與 Excel 相關的流程,並在其 C# 程式中啟用 Excel 的全部功能。

IronXL 在發佈時以$799價格提供。 如需更新和產品支持,用戶也可以選擇支付一年的會員費。 IronXL 提供無限制再分送的安全保障,但需額外收費。 點擊這裡查看更多大致費用資訊。 點擊這裡了解更多關於Iron Software的資訊。

常見問題解答

如何使用 Python 將資料匯出至 Excel?

您可以利用 Pandas、OpenPyXL 或 XlsxWriter 等函式庫,使用 Python 將資料匯出至 Excel。這些函式庫提供了建立、處理和儲存資料到 Excel 檔案的函式。例如,Pandas 提供 to_excel() 方法,可直接匯出 DataFrames 到 Excel 檔案。

在 Python 中使用 IronXL 進行 Excel 自動化有哪些好處?

雖然 IronXL 主要是針對 C# 所設計,但若搭配 Python 使用,則可作為 Excel 自動化的強大選項。它相容於各種作業系統,支援多種 Excel 檔案類型,並透過其友善的 API 簡化資料匯出程序,使其成為建立動態 Excel 報表與可視化的理想選擇。

我應該使用哪個 Python 函式庫來匯出大型資料集到 Excel?

若要匯出大型資料集至 Excel,建議使用 XlsxWriter,因為它具有記憶體效率和效能。它專為有效處理大型資料集而設計,可快速產生複雜的 Excel 文件,並具備儲存格合併和圖表產生等功能。

我可以使用 Python 將資料匯出為較舊的 Excel 格式嗎?

是的,您可以使用 xlrd 和 xlwt 等函式庫將資料匯出為較舊的 Excel 格式,例如 .xls。雖然 Pandas、OpenPyXL 或 XlsxWriter 等現代的函式庫是較新 Excel 格式的首選,但這些函式庫對於處理傳統系統非常有用。

OpenPyXL 在 Excel 檔案處理中扮演什麼角色?

OpenPyXL 提供對 Excel 文件格式和內容操作的詳細控制。它允許您以程式化的方式建立和編輯 Excel 檔案,包括多工作表、公式和圖表,使其成為在 Python 中操作 Excel 檔案的多用途選擇。

Tablib 如何促進資料匯出至 Excel?

Tablib 是一個靈活的函式庫,可處理各種格式的表格資料,包括 Excel。雖然它的功能可能不如 Pandas 或 OpenPyXL 豐富,但它提供了一個簡單直接的解決方案,可以匯出多種格式的資料,因此適合小規模的 Excel 匯出工作。

使用 Pandas 將資料匯出至 Excel 的優點為何?

Pandas 是 Python 中功能強大的資料分析函式庫,可簡化資料匯出至 Excel 的程序。透過其 to_excel() 函式,開發人員可以輕鬆地將 DataFrames 匯出至 Excel 檔案,並可選擇自訂工作表名稱、包含或排除索引,以及套用各種格式化選項。

如何在 Python 中安裝管理 Excel 檔案的函式庫?

若要在 Python 中安裝管理 Excel 檔案的函式庫,您可以使用 pip 套件管理程式。例如,若要安裝 Pandas,您可以在終端機或指令提示中執行指令 pip install pandas

Curtis Chau
技術作家

Curtis Chau 擁有卡爾頓大學計算機科學學士學位,專注於前端開發,擅長於 Node.js、TypeScript、JavaScript 和 React。Curtis 熱衷於創建直觀且美觀的用戶界面,喜歡使用現代框架並打造結構良好、視覺吸引人的手冊。

除了開發之外,Curtis 對物聯網 (IoT) 有著濃厚的興趣,探索將硬體和軟體結合的創新方式。在閒暇時間,他喜愛遊戲並構建 Discord 機器人,結合科技與創意的樂趣。