EXCEL 工具

如何在 Python 中寫入 Excel 文件

查克尼思·賓
查克尼思·賓
2024年3月6日
分享:

介紹

Excel 文件在各個行業中的資料分析、報告和儲存方面都是不可或缺的。 由於 Python 廣泛的開源模組生態系統,開發人員在以程式方式生成 Excel 文件時有眾多選擇。 這些庫支援廣泛的使用案例和偏好,提供高級抽象以及對 Excel 文件的細粒度控制。

這使開發人員能夠輕鬆自動化 Excel 相關流程,生成動態報告並導出數據。 我們將探討 IronXL 如何成為在 C# 中創建 Excel 文件時,Python 庫的一個強力替代品。

我們將檢視其功能、可用性和性能優勢,同時提供實用的代碼範例來強調其能力。 另外,使用 Python 搭配各種開源庫來編寫 Excel 文件。

如何在 Python 中寫入 Excel 文件

  1. 匯入所需的庫。

  2. 準備好您的資料或提供一些資料。

  3. 建立一個名為 Workbook 或 Data Frame 的物件。

  4. 將您的資料放入物件中。

  5. 利用適當的技術,將物件保存到 Excel 文件中。

  6. 根據您的裁量進行進一步的格式化或自訂。

Pandas

憑藉易於使用和多功能的聲譽,Pandas 是一個強大的 Python 數據操作套件。 雖然 Pandas 主要專注於 DataFrame,但它也具有 Excel 文件創作功能。

開發人員可以透過使用to_excel() API 輕鬆地將資料框匯出為 Excel 格式。 他們甚至可以使用 DataFrames 導出到單獨的工作表。

ExcelWriter 物件檔案路徑是儲存輸出的位置。 可以使用Pandas的資料格式化選項、索引可見性和工作表名稱,輕鬆將Python的表格資料轉換為Excel文件。

如何在Python中寫入Excel文件:圖1

xlwt

此程式庫允許您將資料和格式化資訊寫入舊版 .xls 格式的 Excel 文件中。 Xlwt 在需要與早期 Excel 版本或傳統系統保持兼容的情況下,即使未積極開發,仍然是一個可行的解決方案。

開發人員可以使用 xlwt 的功能將數據寫入單元格、添加工作表並構建 Workbook 對象。 Xlwt 提供在 Python 中創建 Excel 文件的基本功能,但與較新的工具相比存在一些限制。

如何在 Python 中寫入 Excel 檔案:圖2

Tablib

這個靈活的庫可以處理多種格式的表格數據,包括 Excel。 Tablib 擁有匯出資料至 Excel 格式的功能,即使其主要專注於資料處理和序列化。

Tablib 提供的方法允許開發人員輕鬆構建 Dataset 對象、添加數據並將其匯出到 Excel 文件。 Tablib 的多功能性和易用性使其適合用於涉及創建簡單 Excel 文件的 Python 任務。

如何在 Python 中寫入 Excel 文件:圖 3

ezodf

可以使用 ezodf 庫來處理試算表和其他開放文件格式(ODF)文件。 儘管 ezodf 並不是專為 Excel 文件設計,但它為 Python 使用者提供了創建和處理試算表文件的能力。

開發人員可以添加工作表,以程式化方式將數據寫入 Excel 工作表中的單元格,並使用 ezodf 的技術生成 ODS(開放文件格式試算表)文件。 即使不太受歡迎,ezodf 也提供了一個選項,可在使用 Python 處理試算表文件時創建 Excel 文件。

如何在 Python 中寫入 Excel 檔案:圖 4

pyxlsb

一個名為pyxlsb的 Python 套件被用來讀取和寫入 Excel 二進制活頁簿 (.xlsb) 檔案。 它提供了添加工作表、以二进制 Excel 格式将数据写入单元格以及生成 Workbook 对象的功能。

儘管對 .xlsb 文件的支援不像對 .xlsx 或 .xls 那樣普遍,pyxlsb 提供了用于操作二進制 Excel 文件的 Python 功能,以滿足需要 Excel 二進制格式兼容的某些使用案例。

如何在 Python 中寫入 Excel 文件:圖 5

IronXL

IronXL 是一個功能豐富的 C# 函式庫,用於操作 Excel 文件。 IronXL,由 Iron Software 製作,提供全面的功能,用於動態生成、格式化和填充 Excel 文件。 IronXL通過其使用者友好的API和完整的文件資料,為Excel相關活動的C#開發人員提供流暢的體驗,簡化了Excel的互動。

IronXL 的功能

  • 對 Excel 的廣泛支持:IronXL 可以開啟和處理多種 Excel 格式的 Excel 文件,包括 csv、file、xls 文件和 xlsx 文件。 使用IronXL強大的解析功能,開發人員可以高效地從現有Excel文件中提取數據,無論是舊版還是現代Excel文件。
  • 高速:IronXL優先強調優化速度。 使用有效的算法和記憶體管理技術來提供可靠和快速的 Excel 互動。 由於 IronXL 提供最佳化的處理速度和減少的記憶體負擔,開發者能夠輕鬆處理大型 Excel 文件。
  • 簡單易用的 API:IronXL 擁有簡單且易於使用的 API,適合具有不同經驗水平的開發人員。 IronXL 提供簡單的方法來讀取 Excel 文件、存取 Excel 工作簿以及從單元格獲取數據,降低了 C# 開發人員的學習曲線,並簡化了編寫和讀取現有文件的過程。
  • 細粒度控制:與其他較高層次的庫不同,IronXL 為開發人員提供了對 Excel 文件的細粒度控制,讓他們能夠逐格與 Excel 試算表進行互動。 由於開發人員可以訪問特定的儲存格、行、列和電子表格,他們可以精確地提取和更改數據以滿足其需求。
  • 跨平台相容性:IronXL 支援多種作業系統,包括 Windows、Linux 和 macOS,使其適合跨平台 C# 開發。 無論是開發桌面、網頁或是手機應用程式,開發人員都可以依賴IronXL在多種環境中提供一致的Excel互動。

    如需了解更多有關 IronXL 文件的資訊,請參閱此處

安裝IronXL

使用這些說明和命令行來安裝IronXL。

在 Visual Studio 中,導航到 工具 -> NuGet 套件管理 -> 套件管理介面。

在套件管理器的主控台標籤中輸入以下程式碼:

pip install IronXL

該文件在下載並安裝到當前項目後即可使用。

使用 IronXL 在 C# 中撰寫 Excel 資料

現在讓我們深入研究一個實際的程式碼範例,向您展示如何使用C#中的IronXL來寫入數據到Excel文件。 我們將演示如何打開一個新的 Excel 工作簿、填滿工作表,然後將數據保存到文件中:

using IronXL;
class Program
{
    static void Main(string [] args)
    {
        // Create a new WorkBook object
        WorkBook workBook = WorkBook.Create(ExcelFileFormat.XLSX);
        // Add a new WorkSheet to the workbook
        WorkSheet workSheet = workBook.CreateWorkSheet("Sheet1");
        // Define sample data
        string [,] data = {
            { "Name", "Age", "City" },
            { "John ", "25", "New York" },
            { "Smith", "30", "Los Angeles" },
            { "Johnson", "35", "Chicago" }
        };
        // Populate the worksheet with data
        for (int row = 0; row < data.GetLength(0); row++)
        {
            for (int col = 0; col < data.GetLength(1); col++)
            {
                workSheet.SetCellValue(row, col,data [row, col]);
            }
        }
        // Save the workbook to a  xlsx file
        workBook.SaveAs("Demo.xlsx");
        // Close the workbook
        workBook.Close();
    }
}
PYTHON

使用 IronXL 的 Create() 函數,我們首先在這個代碼範例中創建一個新的 WorkBook 物件,指定所需的 Excel 檔案類型(在這個例子中為 .xlsx)。 接下來,我們在工作表中創建一個新的工作表,並在一個二維陣列中描述一些範例數據。

接下來,我們使用巢狀迴圈來訪問和設定電子表格中各個儲存格的值,以填充樣本數據。

最後,我們使用 SaveAs() 函數將工作簿保存為目標檔案名 "SampleData.xlsx",然後關閉工作簿以釋放系統資源。 同樣,我們可以在目標文件中創建多個工作表。

以下是輸出生成的 Excel 文件。如需了解更多有關編寫 Excel 文件的資訊,請參考此處

如何在 Python 中寫入 Excel 文件:圖 6

結論

Python 提供了一個廣泛的免費和開源庫集合,可通過程式化方式編寫 Excel 檔案,以滿足廣泛的需求和喜好。 這些函式庫使您能夠快速且有效地執行 Excel 寫作任務,無論您是在處理表格數據、生成報告還是將數據匯出到 Excel。

IronXL 是 C# 開發人員強而有力的 Microsoft Excel 替代方案,提供對 Excel 的全面支持、卓越的速度以及與 .NET 框架的順暢介面。 IronXL 透過其使用者友好的 API 和對 Excel 文件的精細控制,使在 C# 中撰寫 Excel 更加簡單。

這使開發人員更容易生成動態報告、導出數據及自動化與 Excel 有關的操作。 C# 開發人員可以依賴 IronXL 來優化與 Excel 相關的操作,並在其 C# 應用程式中啟用 Excel 的完整功能,無論他們是為桌面、線上還是行動應用程式生成 Excel 文件。

IronXL 在推出時的價格為 $749。 用戶也可以選擇支付一年會員費以獲取更新和產品幫助。IronXL 提供未限制再分發的保護,但需支付額外費用。 請造訪此頁面以了解大約的成本。前往這裡了解更多關於Iron Software的資訊。

查克尼思·賓
軟體工程師
Chaknith 致力於 IronXL 和 IronBarcode。他在 C# 和 .NET 方面擁有豐富的專業知識,協助改進軟體並支持客戶。他從用戶互動中獲得的洞察力有助於提高產品、文檔和整體體驗。
下一個 >
如何使用Python讀取Excel文件

準備開始了嗎? 版本: 2025.4 剛剛發布

查看許可證 >