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 sektórach. 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. Również używanie Pythona do pisania plików Excel przy użyciu różnych bibliotek open-source.

Jak zapisać plik Excel w języku Python

  1. Zaimportuj wymaganą 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.

Jak napisać plik Excel w Python: Rysunek 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 wymagana 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.

Jak napisać plik Excel w Python: Rysunek 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.

Jak napisać plik Excel w Python: Rysunek 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.

Jak napisać plik Excel w Python: Rysunek 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.

Jak napisać plik Excel w Python: Rysunek 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.
  • Szczegółowa kontrola: W przeciwieństwie do innych wyższych bibliotek, IronXL daje programistom szczegółową kontrolę nad dokumentami Excel, pozwalając im na interakcję z arkuszem Excel aż do poziomu komórki. Ponieważ programiści mają dostęp do poszczególnych komórek, wierszy, kolumn i arkuszy, mogą wyodrębniać i zmieniać dane dokładnie, aby pasowały do ich potrzeb.
  • Kompatybilność wieloplatformowa: IronXL działa z szeregiem systemów operacyjnych, w tym Windows, Linux i macOS, co czyni go odpowiednim do wieloplatformowego rozwoju w C#. Niezależnie od tego, czy rozwijasz aplikacje desktopowe, webowe czy mobilne, programiści mogą polegać na IronXL, aby zapewnić spójne interakcje z Excel w różnych kontekstach.

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

Instalacja IronXL

Użyj tych instrukcji oraz linii poleceń, aby zainstalować IronXL.

W Visual Studio nawiguj do Narzędzia -> Zarządzanie pakietami NuGet -> Interfejs menedżera pakietów.

Wprowadź następujący kod na karcie konsoli menedżera pakietów:

pip install IronXL

Plik jest teraz używalny po pobraniu i zainstalowaniu w obecnym projekcie.

Writing Excel Data Using IronXL in C

Teraz przyjrzyjmy się przykładowi kodu w rzeczywistym świecie, który pokazuje, jak używać IronXL w C#, aby zapisać dane do dokumentu Excel. Pokażemy, jak otworzyć nowy skoroszyt Excel, wypełnić arkusz i następnie zapisać dane do pliku:

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

W tym przykładzie kodu najpierw tworzymy nowy obiekt WorkBook za pomocą funkcji Create() IronXL, określając pożądany typ pliku Excel (w tym przypadku .xlsx). Następnie tworzymy nowy arkusz i definiujemy niektóre przykładowe dane w dwuwymiarowej tablicy.

Następnie wypełniamy arkusz przykładowymi danymi, uzyskując dostęp i ustawiając wartości różnych komórek za pomocą zagnieżdżonych pętli.

Na koniec używamy funkcji SaveAs(), aby zapisać skoroszyt pod docelową nazwą pliku "Demo.xlsx" i zamykamy skoroszyt, aby zwolnić zasoby systemowe. Podobnie możemy utworzyć wiele arkuszy w docelowym pliku.

Poniżej znajdują się wygenerowane dane wyjściowe pliku Excel. Aby dowiedzieć się więcej o pisaniu plików Excel, odwiedź tutaj.

Jak napisać plik Excel w Python: Rysunek 6

Wnioski

Python oferuje obszerne zbiory darmowych i open-source bibliotek do programowego pisania plików Excel, spełniających szeroką gamę potrzeb i upodobań. Te biblioteki umożliwiają szybkie i skuteczne realizowanie zadań pisania w Excel, niezależnie od tego, czy pracujesz z danymi tabelarycznymi, tworzysz raporty, czy eksportujesz dane do Excel.

IronXL jest potężnym zamiennikiem dla Microsoft Excel dla deweloperów C#, oferującym pełne wsparcie dla Excel, doskonałą prędkość oraz płynny interfejs z .NET framework. IronXL upraszcza tworzenie w C# w Excel dzięki przyjaznemu API i szczegółowej kontroli nad dokumentami Excel.

To ułatwia programistom tworzenie dynamicznych raportów, eksport danych i automatyzację operacji związanych z Excel. Deweloperzy C# mogą polegać na IronXL, aby zoptymalizować operacje związane z Excel i umożliwić pełną moc Excel w ich aplikacjach C#, niezależnie od tego, czy tworzą pliki Excel dla aplikacji desktopowych, internetowych czy mobilnych.

IronXL jest dostępny na start dla $999. Użytkownicy mogą również wybrać opłacenie rocznej opłaty członkowskiej, aby otrzymywać aktualizacje i pomoc produktową. IronXL zapewnia ochronę dla nieograniczonej redystrybucji za dodatkową opłatą. Odwiedź tę stronę, aby dowiedzieć się więcej o przybliżonych kosztach. Kliknij tutaj, aby dowiedzieć się więcej o 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

Zespół wsparcia Iron

Jesteśmy online 24 godziny, 5 dni w tygodniu.
Czat
E-mail
Zadzwoń do mnie