Przejdź do treści stopki
NARZęDZIA EXCEL

Jak pisać plik Excel w Python

Pliki Excel są niezbędne do analizy danych, tworzenia raportów i przechowywania danych w wielu sektorach. Programiści mają do wyboru wiele alternatyw, jeśli chodzi o programowe tworzenie plików Excel przy użyciu języka Python, ze względu na jego rozbudowany ekosystem modułów open source. Biblioteki te obsługują szeroki zakres zastosowań i preferencji, oferując zarówno abstrakcyjne funkcje wysokiego poziomu, jak i precyzyjną kontrolę nad dokumentami Excel.

Umożliwia to programistom łatwą automatyzację procesów związanych z programem Excel, tworzenie dynamicznych raportów oraz eksportowanie danych. Przyjrzymy się, w jaki sposób IronXL stanowi doskonałą alternatywę dla bibliotek Pythona, jeśli chodzi o tworzenie plików Excel w języku C#.

Przeanalizujemy jego funkcje, użyteczność i zalety wydajnościowe, przedstawiając przy tym przydatne przykłady kodu, aby podkreślić jego możliwości. Ponadto, wykorzystanie języka Python do tworzenia plików Excel przy użyciu różnych bibliotek open-source.

Jak zapisać plik Excel w języku Python

  1. Zaimportuj wymagańą bibliotekę.
  2. Przygotuj swoje dane lub dostarcz nam je.
  3. Utwórz obiekt o nazwie Workbook lub Data Frame.
  4. Umieść swoje dane wewnątrz obiektu.
  5. Wykorzystując odpowiednią technikę, zapisz obiekt w pliku Excel.
  6. Wszelkie dalsze formatowanie lub dostosowania należy wykonać według własnego uznania.

Pandas

Pandas, znany ze swojej przyjazności dla użytkownika i wszechstronności, jest solidnym pakietem do manipulacji danymi w języku Python. Chociaż Pandas koncentruje się przede wszystkim na DataFrame'ach, posiada również funkcje tworzenia plików Excel.

Programiści mogą łatwo eksportować ramki danych do formatu Excel, korzystając z interfejsu API to_excel(). Mogą nawet eksportować dane do oddzielnych arkuszy przy użyciu DataFrames.

Ścieżka pliku obiektu ExcelWriter to miejsce, w którym zapisywany jest wynik. Dane tabelaryczne w języku Python można łatwo przekonwertować na pliki Excel dzięki opcjom Pandas dotyczącym formatowania danych, widoczności indeksów i nazw arkuszy.

How to Write An Excel file in Python: Figure 1

xlwt

Ta biblioteka pozwala zapisywać dane i formatować informacje w plikach Excel w przestarzałym formacie .xls. Xlwt nadal stanowi praktyczne rozwiązanie w sytuacjach, w których wymagańa jest kompatybilność z wcześniejszymi wersjami programu Excel lub starszymi systemami, nawet jeśli nie jest aktywnie rozwijane.

Programiści mogą korzystać z funkcji xlwt do zapisywania danych w komórkach, dodawania arkuszy i tworzenia obiektów Workbook. Xlwt oferuje podstawowe funkcje do tworzenia plików Excel w języku Python, choć w porównaniu z nowszymi narzędziami ma pewne ograniczenia.

How to Write An Excel file in Python: Figure 2

Tablib

Ta elastyczna biblioteka obsługuje dane tabelaryczne w wielu różnych formatach, w tym w formacie Excel. Tablib posiada funkcje eksportowania danych do formatu Excel, mimo że skupia się głównie na przetwarzaniu i serializacji danych.

Metody udostępniane przez Tablib pozwalają programistom w łatwy sposób tworzyć obiekty Dataset, dodawać dane i eksportować je do plików Excel. Wszechstronność i łatwość obsługi Tablib sprawiają, że nadaje się on do zadań w języku Python związanych z tworzeniem prostych plików Excel.

How to Write An Excel file in Python: Figure 3

ezodf

Arkusze kalkulacyjne i inne pliki w formacie OpenDocument Format (ODF) można edytować za pomocą biblioteki ezodf. Chociaż ezodf nie zostało zaprojektowane z myślą o plikach Excel, oferuje użytkownikom języka Python możliwość tworzenia dokumentów arkuszy kalkulacyjnych i pracy z nimi.

Programiści mogą dodawać arkusze, programowo zapisywać dane w komórkach arkusza Excel oraz tworzyć pliki ODS (OpenDocument Spreadsheet) przy użyciu technik ezodf. Nawet jeśli nie jest tak popularny, ezodf oferuje możliwość tworzenia plików Excel podczas pracy z dokumentami arkuszy kalkulacyjnych w języku Python.

How to Write An Excel file in Python: Figure 4

pyxlsb

Pakiet Python o nazwie pyxlsb służy do odczytu i zapisu plików Excel Binary Workbook (.xlsb). Oferuje funkcje dodawania arkuszy, zapisywania danych w komórkach w binarnym formacie Excel oraz generowania obiektów Workbook.

Chociaż obsługa plików .xlsb nie jest tak powszechna jak w przypadku plików .xlsx lub .xls, pyxlsb zapewnia funkcjonalność języka Python do manipulowania plikami binarnymi Excel, spełniając określone wymagania, które wymagają kompatybilności z formatem binarnym Excel.

How to Write An Excel file in Python: Figure 5

IronXL

IronXL to bogata w funkcje biblioteka C# do manipulowania plikami Excel. IronXL, stworzony przez Iron Software, oferuje szeroki zakres funkcji do dynamicznego tworzenia, formatowania i wypełniania dokumentów Excel. IronXL zapewnia programistom płynną obsługę zadań związanych z programem Excel poprzez usprawnienie interakcji z Excelem w języku C# dzięki przyjaznemu dla użytkownika interfejsowi API i obszernej dokumentacji.

Funkcje IronXL

  • Szerokie wsparcie dla programu Excel: IronXL może otwierać i obsługiwać szeroki zakres plików Excel w wielu formatach, w tym pliki csv, xls i xlsx. Dzięki zaawansowanym funkcjom parsowania IronXL programiści mogą efektywnie wyodrębniać dane z istniejących plików Excel, korzystając zarówno ze starszych, jak i nowszych wersji programu.
  • Wysoka prędkość: IronXL kładzie największy nacisk na optymalizację prędkości. Wykorzystujemy skuteczne algorytmy i techniki zarządzania pamięcią, aby zapewnić niezawodną i szybką interakcję z programem Excel. Ponieważ IronXL oferuje zoptymalizowaną szybkość przetwarzania i zmniejszone obciążenie pamięci, programiści mogą z łatwością obsługiwać duże pliki Excel.
  • Proste i łatwe w użyciu API: IronXL jest odpowiednie dla programistów o różnym poziomie doświadczenia dzięki prostemu i przyjaznemu dla użytkownika API. Oferując proste metody odczytu plików Excel, dostępu do skoroszytów Excel oraz pozyskiwania danych z komórek, IronXL skraca czas potrzebny na opanowanie języka C# przez programistów i usprawnia proces tworzenia oraz odczytu istniejących plików.
  • 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.

Aby dowiedzieć się więcej o dokumentacji IronXL, zajrzyj tutaj.

Instalacja 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; // Include IronXL namespace

class Program
{
    static void Main(string[] args)
    {
        // Create a new WorkBook object in .xlsx format
        WorkBook workBook = WorkBook.Create(ExcelFileFormat.XLSX);
        // Add a new WorkSheet named "Sheet1" 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 named "Demo.xlsx"
        workBook.SaveAs("Demo.xlsx");

        // Close the workbook to free resources
        workBook.Close();
    }
}
using IronXL; // Include IronXL namespace

class Program
{
    static void Main(string[] args)
    {
        // Create a new WorkBook object in .xlsx format
        WorkBook workBook = WorkBook.Create(ExcelFileFormat.XLSX);
        // Add a new WorkSheet named "Sheet1" 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 named "Demo.xlsx"
        workBook.SaveAs("Demo.xlsx");

        // Close the workbook to free resources
        workBook.Close();
    }
}
Imports IronXL ' Include IronXL namespace

Friend Class Program
	Shared Sub Main(ByVal args() As String)
		' Create a new WorkBook object in .xlsx format
		Dim workBook As WorkBook = WorkBook.Create(ExcelFileFormat.XLSX)
		' Add a new WorkSheet named "Sheet1" 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 named "Demo.xlsx"
		workBook.SaveAs("Demo.xlsx")

		' Close the workbook to free resources
		workBook.Close()
	End Sub
End Class
$vbLabelText   $csharpLabel

In this code sample, we first create a new WorkBook object using IronXL's Create() function, specifying the desired Excel file type (in this case, .xlsx). Next, we create a new worksheet and define some sample data in a 2-dimensional array.

We then populate the worksheet with the sample data by accessing and setting the values of different cells using nested loops.

Finally, we use the SaveAs() function to save the workbook to the target file name "Demo.xlsx" and close the workbook to free up system resources. Similarly, we can create multiple sheets in 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

Wnioski

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 $799. 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 Iron Software.

Curtis Chau
Autor tekstów technicznych

Curtis Chau posiada tytuł licencjata z informatyki (Uniwersytet Carleton) i specjalizuje się w front-endowym rozwoju, z ekspertką w Node.js, TypeScript, JavaScript i React. Pasjonuje się tworzeniem intuicyjnych i estetycznie przyjemnych interfejsów użytkownika, Curtis cieszy się pracą z nowoczesnymi frameworkami i tworzeniem dobrze zorganizowanych, atrakcyjnych wizualnie podrę...

Czytaj więcej

Zespol wsparcia Iron

Jestesmy online 24 godziny, 5 dni w tygodniu.
Czat
Email
Zadzwon do mnie