EXCEL TOOLS

How to Write An Excel file in Python

Updated March 7, 2024
Share:

Introduction

Excel files are essential for data analysis, reporting, and storage across a range of sectors. Developers have an abundance of alternatives when it comes to producing Excel files programmatically using Python because of its broad ecosystem of open-source modules. These libraries support a wide range of use cases and preferences, offering high-level abstractions as well as fine-grained control over Excel documents.

This enables developers to easily automate Excel-related processes, produce dynamic reports, and export data. We'll look at how IronXL is a strong substitute for Python libraries when it comes to creating Excel files in C#.

We'll examine its features, usability, and performance advantages while presenting useful code samples to highlight its powers. Also, Using Python to write Excel files with various open-source libraries.

How to Write An Excel file in Python

  1. Import the required library.
  2. Get your data ready or provide some.
  3. Make an object called a Workbook or Data Frame.
  4. Put your data inside the object.
  5. Utilizing the proper technique, save the object to an Excel file.
  6. Make any further formatting or customizations at your discretion.

Pandas

With a reputation for being user-friendly and versatile, Pandas is a robust Python data manipulation package. Although Pandas is primarily focused on DataFrames, it also has Excel file authoring functionality.

Developers may easily export DataFrames to Excel format by using the to_excel() API. They may even export to separate sheets using the DataFrames.

ExcelWriter object file path is where the output is saved. Python tabular data may be easily converted into Excel files with Pandas's choices for data formatting, index visibility, and sheet names.

How to Write An Excel file in Python: Figure 1

xlwt

This library allows you to write data and format information to Excel files that are in the outdated.xls format. Xlwt is still a workable solution in situations where compatibility with earlier Excel versions or legacy systems is required, even if it is not actively developed.

Developers may use the features of xlwt to write data to cells, add worksheets, and construct Workbook objects. Xlwt offers rudimentary functionality for creating Excel files in Python, although with limitations when compared to more recent tools.

How to Write An Excel file in Python: Figure 2

Tablib

This flexible library can handle tabular data in many different formats, including Excel. Tablib has functions for exporting data to Excel format, even though its main concentration is on data processing and serialization.

The methods provided by Tablib allow developers to easily construct Dataset objects, add data, and export it to Excel files. Tablib's versatility and user-friendliness make it appropriate for Python jobs involving the creation of simple Excel files.

How to Write An Excel file in Python: Figure 3

ezodf

Spreadsheets and other OpenDocument Format (ODF) files may be worked with using the ezodf library. Although not designed with Excel files in mind, ezodf offers Python users the ability to create and work with spreadsheet documents.

Developers may add worksheets, write data to cells on the Excel sheet programmatically, and produce ODS (OpenDocument Spreadsheet) files using ezodf's techniques. Even if it's not as popular, ezodf provides an option to create Excel files while dealing with spreadsheet documents in Python.

How to Write An Excel file in Python: Figure 4

pyxlsb

A Python package called pyxlsb is used to read and write Excel Binary Workbook (.xlsb) files. It offers features for adding worksheets, writing data to cells in the binary Excel format, and generating Workbook objects.

While support for .xlsb files is not as widespread as it is for.xlsx or.xls, pyxlsb provides Python functionality for manipulating binary Excel files, meeting certain use cases that need Excel's binary format to be compatible.

How to Write An Excel file in Python: Figure 5

IronXL

IronXL is a feature-rich C# library for manipulating Excel files. IronXL, created by Iron Software, offers a comprehensive range of features for dynamically producing, formatting, and filling Excel documents. IronXL offers developers a smooth experience for Excel-related activities by streamlining Excel interactions in C# with its user-friendly API and comprehensive documentation.

Features of IronXL

  • Broad Support for Excel: IronXL can open and work with a wide range of Excel files in many Excel formats, including csv, file, xls files, and xlsx files. With IronXL's powerful parsing features, developers can efficiently extract data from an existing Excel file using both old and modern Excel files.
  • High speed: IronXL gives optimizing speed first emphasis. Effective algorithms and memory management techniques are used to provide trustworthy and fast Excel interactions. Because IronXL offers optimized processing rates and decreased memory overhead, developers can handle large Excel files with ease.
  • Simple and easy-to-use API: IronXL is appropriate for developers with varying levels of experience due to its straightforward and user-friendly API. By offering straightforward methods for reading Excel files, accessing Excel workbooks, and obtaining data from cells, IronXL lowers the learning curve for C# developers and streamlines the process of authoring and reading an existing file.
  • Fine-Grained Control: Unlike other higher-level libraries, IronXL gives developers fine-grained control over Excel documents, allowing them to interact with an Excel spreadsheet down to the cell level. Since developers have access to particular cells, rows, columns, and spreadsheets, they may extract and change data exactly to suit their needs.
  • Cross-Platform Compatibility: IronXL works with a range of operating systems, including Windows, Linux, and macOS, making it suitable for cross-platform C# development. Whether developing desktop, web, or mobile applications, developers can rely on IronXL to provide consistent Excel interactions across several contexts.

To know more about IronXL documentation refer here.

Installing IronXL

Use these instructions and the command line to install IronXL.

In Visual Studio, navigate to Tools -> NuGet Package management -> Package manager interface.

Enter the following code in the package manager's console tab:

 pip install IronXL

The file is now usable after being downloaded and installed on the current project.

Writing Excel Data Using IronXL in C#

Now let's dig into a real-world code sample that shows you how to use IronXL in C# to write data to an Excel document. We will demonstrate how to open a new Excel workbook, fill up a worksheet, and then save the data to a file:

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();
    }
}
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();
    }
}
Imports IronXL
Friend Class Program
	Shared Sub Main(ByVal args() As String)
		' Create a new WorkBook object
		Dim workBook As WorkBook = WorkBook.Create(ExcelFileFormat.XLSX)
		' Add a new WorkSheet to the workbook
		Dim workSheet As WorkSheet = workBook.CreateWorkSheet("Sheet1")
		' Define sample data
		Dim data(,) As String = {
			{ "Name", "Age", "City" },
			{ "John ", "25", "New York" },
			{ "Smith", "30", "Los Angeles" },
			{ "Johnson", "35", "Chicago" }
		}
		' Populate the worksheet with data
		For row As Integer = 0 To data.GetLength(0) - 1
			For col As Integer = 0 To data.GetLength(1) - 1
				workSheet.SetCellValue(row, col,data(row, col))
			Next col
		Next row
		' Save the workbook to a  xlsx file
		workBook.SaveAs("Demo.xlsx")
		' Close the workbook
		workBook.Close()
	End Sub
End Class
VB   C#

Using IronXL's Create() function, we first create a new WorkBook object in this code sample, indicating the required Excel file type (in this case, .xlsx). Next, we create a new worksheet in the worksheet and describe some example data in an array that is two dimensions wide.

Next, we use nested loops to access and set the values of various cells in the spreadsheet to fill it with the sample data.

Lastly, we use the SaveAs() function to save the workbook to the target file name "SampleData.xlsx" and then shut the workbook to free up system resources. Likewise, we can able to create multiple sheets into the target file.

Below is the output-generated Excel file. To know more about writing Excel files refer here.

How to Write An Excel file in Python: Figure 6

Conclusion

Python provides an extensive collection of free and open-source libraries to write Excel files programmatically, meeting a wide range of needs and tastes. These libraries enable you to execute your Excel writing tasks quickly and effectively, regardless of whether you're working with tabular data, producing reports, or exporting data to Excel.

IronXL is a potent substitute for Microsoft Excel for C# developers, offering complete support for Excel, excellent speed, and a smooth interface with the .NET framework. IronXL makes Excel authoring in C# simpler with its user-friendly API and fine-grained control over Excel documents.

This makes it easier for developers to create dynamic reports, export data, and automate Excel-related operations. C# developers can rely on IronXL to optimize operations linked to Excel and enable the full power of Excel in their C# applications, regardless matter whether they are producing Excel files for desktop, online, or mobile apps.

IronXL is available at launch for $599. Users may also elect to pay a one-year membership fee in order to receive updates and product help. IronXL provides protection for unrestricted redistribution for a surcharge. Visit this page to learn more about the approximate cost. Go here to learn more about IronSoftware.

NEXT >
How to use Python to Read Excel Files

Ready to get started? Version: 2024.5 just released

Start Free Trial
View Licenses >