Porównanie OpenpyXL Python i IronXL dla Python
W tym artykułe omówimy dwie powszechnie używane biblioteki Pythona do zarządzania plikami arkuszy kalkulacyjnych Excel: biblioteka IronXL for Python i OpenPyXL. Biblioteki te są ważne dla programistów Pythona, którzy muszą przetwarzać, analizować lub tworzyć dokumenty w formacie Excel. Każda biblioteka oferuje unikalne funkcje, które ułatwiają bardziej efektywne i wydajne zarządzanie plikami Excel.
IronXL i OpenPyXL oferują programistom możliwość automatyzacji operacji w arkuszach kalkulacyjnych, edycji komórek arkuszy Excel oraz wyodrębniania przykładowych danych. Obsługują one również zaawansowane funkcje, takie jak tworzenie formuł, stylizowanie komórek i płynna obsługa dużych zbiorów danych. Dzięki temu aplikacje mogą efektywnie zarządzać plikami Excel w różnych środowiskach bez utraty wydajności lub kompatybilności.
W niniejszym porównaniu omówimy unikalne cechy każdej biblioteki oraz sposób ich działania. Omówimy również szczegóły dotyczące licencji. Przyjrzyjmy się różnicom i możliwościom IronXL oraz OpenPyXL, skupiając się na jasnych i przydatnych informacjach dla programistów.
1. Biblioteka OpenPyXL
OpenPyXL to biblioteka języka Python przeznaczona do obsługi plików Excel w formacie XLSX. Biblioteka umożliwia programistom odczytywanie, zapisywanie i modyfikowanie plików Excel. Moduł OpenPyXL obsługuje wiele funkcji programu Excel, w tym manipulowanie danymi, formatowanie oraz zaawansowane funkcje, takie jak wykresy i tabele przestawne.
1.1 Kluczowe funkcje OpenPyXL
1.1.1 Zarządzanie arkuszami kalkulacyjnymi
OpenPyXL doskonale sprawdza się w tworzeniu i edycji skoroszytów. Pozwala to rozpocząć pracę od pustego skoroszytu lub zmodyfikować istniejący, dodawać lub usuwać arkusze oraz łatwo poruszać się po nich. Dzięki temu idealnie nadaje się do zadań od generowania raportów po automatyzację wprowadzania danych.
1.1.2 Manipulacja danymi
Biblioteka ta obsługuje zaawansowane funkcje przetwarzania danych, takie jak dodawanie wierszy, wstawianie formuł i stosowanie stylów do aktywnego arkusza. Można manipulować dużymi zbiorami danych, programowo ustawiając wartości komórek, co upraszcza zadania takie jak analiza danych i generowanie raportów.
1.1.3 Stylizacja i formatowanie
Dzięki OpenPyXL można stosować formatowanie komórek, takie jak czcionki, kolory i obramowania. Obsługuje również formatowanie warunkowe i ustawianie właściwości komórek, takich jak wyrównanie, które są niezbędne do tworzenia profesjonalnie stylizowanych raportów w Excelu.
1.1.4 Wykresy i obrazy
OpenPyXL umożliwia dodawanie elementów graficznych do arkuszy kalkulacyjnych. Można wstawiać wykresy w celu wizualizacji danych, a nawet dodawać obrazy, aby uatrakcyjnić prezentację informacji. Ta funkcja jest szczególnie przydatna do tworzenia pulpitów nawigacyjnych i złożonych raportów.
1.1.5 Integracja formuł i funkcji
Biblioteka umożliwia integrację formuł Excel w komórkach, umożliwiając automatyczne obliczenia w arkuszach kalkulacyjnych. Obsługuje również tworzenie nazwanych zakresów, co może być bardzo przydatne przy organizowaniu danych oraz tworzeniu bardziej czytelnych i łatwiejszych w utrzymaniu arkuszy.
1.1.6 Walidacja danych i automatyzacja
OpenPyXL zapewnia narzędzia do walidacji danych i sortowania, które są kluczowe dla utrzymania integralności danych i efektywnego organizowania informacji. Oferuje również funkcje filtrowania danych, ułatwiając zarządzanie dużymi objętościami danych w plikach Excel.
1.1.7 Open Source
Jako biblioteka open-source, OpenPyXL korzysta z nieustającego wkładu aktywnej społeczności, co gwarantuje, że pozostaje aktualna i bogata w funkcje. Zaangażowanie tej społeczności zapewnia ogromną bazę zasobów i wsparcia dla deweloperów korzystających z biblioteki.
2. Biblioteka IronXL
IronXL jest solidną biblioteką Python zaprojektowaną do manipulacji plikami Excel bez potrzeby stosowania Microsoft Excel. Jest ceniony za swoją prostotę i efektywność w obsłudze różnych zadań związanych z plikami Excel bezpośrednio w środowiskach Python.
2.1 Kluczowe funkcje IronXL
2.1.1 Zarządzanie skoroszytami
IronXL upraszcza tworzenie, ładowanie i zapisywanie formatów Excel jak XLS, XLSX, CSV i inne. Zapewnia kompatybilność z różnymi wersjami Excel i dostarcza wszechstronność funkcjonalności zarządzania danymi w Excel programowo.
2.1.2 Manipulacja danymi
Dzięki IronXL można efektywnie sortować dane, zarządzać wierszami i kolumnami i dostosowywać formatowanie komórek. Obejmuje to ustawianie typów danych, formuł i nawet wdrażanie funkcji Excel w komórkach.
2.1.3 Zaawansowane formatowanie
IronXL oferuje rozbudowane opcje stylizacji dla komórek, w tym ustawianie czcionek, obramowań i kolorów tła. Obsługuje zaawansowane funkcje Excel, takie jak formatowanie warunkowe i ustawianie opcji wydruku dla arkuszy, poprawiając czytelność i prezentację Twoich raportów Excel.
2.1.4 Funkcje bezpieczeństwa
Biblioteka wspiera edycję metadanych, zarządzanie uprawnieniami i ochronę plików hasłem, zapewniając, że dane wrażliwe są chronione.
2.1.5 Wsparcie dla różnych platform
IronXL jest zaprojektowany do pracy na wielu systemach operacyjnych, w tym Windows, macOS i Linux, zapewniając, że deweloperzy mogą wdrażać swoje aplikacje na różnych platformach bez problemów z kompatybilnością.
2.1.6 Operacje na arkuszach i zakresach komórek
IronXL oferuje solidne funkcje do obsługi zakresów arkuszy i indywidualnych komórek. Możesz łatwo scalać, kopiować i manipulować zakresami komórek. Ta zdolność upraszcza zarządzanie złożonymi zestawami danych.
2.1.7 Integracja z systemami danych
IronXL bezproblemowo integruje się z bazami danych i źródłami danych. Wspiera import i eksport danych do i z plików Excel. Ta funkcja jest niezbędna dla aplikacji, które wymagają dynamicznego raportowania i analityki danych.
3. Skonfigurowanie projektu w Visual Studio Code
Aby rozpocząć testowanie bibliotek IronXL i OpenPyXL, musimy skonfigurować projekt w Visual Studio Code, dostosowany specjalnie do rozwoju w Python.
3.1 Wymagania wstępne
Przed rozpoczęciem upewnij się, że Visual Studio Code jest zainstalowane na Twoim komputerze. Ważne jest także, aby mieć zainstalowany Python oraz rozszerzenie Python dla Visual Studio Code. To rozszerzenie można dodać bezpośrednio z widoku Rozszerzenia w Visual Studio Code.
3.2 Konfiguracja projektu
Zacznij od utworzenia nowego folderu w swoim systemie, który będzie służył jako przestrzeń robocza dla Twojego projektu. Możesz to zrobić łatwo używając opcji Otwórz folder z menu Plik w VS Code.
3.3 Konfiguracja środowiska
W Visual Studio Code zaleca się skonfigurowanie środowiska wirtualnego, aby czysto zarządzać zależnościami. Możesz to zrobić za pomocą zintegrowanego terminala w Visual Studio Code. Visual Studio Code oferuje również interfejs w rozszerzeniu Python, który upraszcza ten proces. Za pomocą palety poleceń rozszerzenia Python możesz tworzyć i aktywować środowisko wirtualne bez ręcznego wpisywania komend.
Nacisnij Ctrl+Shift+P w VS Code, wyszukaj "Python: Create Environment" i kliknij na to.

Wybierz typ środowiska z listy rozwijanej. W naszym przypadku będzie to ".venv":

Następnie wybierz ścieżkę do interpretera Python:

Utworzy to wirtualne środowisko Python wewnątrz folderu.

4. Instalacja Biblioteki IronXL for Python
Instalowanie biblioteki IronXL w Visual Studio Code jest prostym procesem. IronXL jest szczególnie przydatny, ponieważ nie wymaga zainstalowania Microsoft Office, działając natomiast na podstawie frameworka .NET.
4.1 Wymagania wstępne
Przed instalacją IronXL, upewnij się, że środowisko jest już skonfigurowane z Python i Visual Studio Code. Ważne jest, aby mieć zainstalowany runtime .NET 6.0 na swoim urządzeniu, ponieważ IronXL polega na technologiach .NET, aby działać. Dla systemów, które nie mają jeszcze .NET, takich jak Linux lub macOS, może być konieczne jego pobranie z oficjalnej strony .NET.
4.2 Kroki instalacji
Aby zainstalować IronXL, użyj menadżera pakietów pip, który upraszcza instalację bibliotek Python. Postępuj zgodnie z tymi krokami w terminalu w Visual Studio Code:
- Otwórz terminal: Uzyskaj dostęp do terminala w Visual Studio Code, używając skrótu Ctrl+` lub przechodząc do Terminal > New Terminal z górnego menu.
Wykonaj polecenie instalacji Pip: W terminalu wpisz następujące polecenie i naciśnij Enter:
pip install IronXL
Powyzsze
pip installpolecenie pobierze i zainstaluje biblioteke IronXL wraz z wszelkimi zaleznosciami wymaganymi do jej dzialania.

Potwierdź instalację: Po zakończeniu procesu instalacji możesz sprawdzić, czy IronXL jest zainstalowany poprawnie, próbując go zaimportować w nowym skrypcie Python:
from ironxl import *from ironxl import *PYTHONJeśli nie pojawią się błędy, biblioteka została pomyślnie zainstalowana i jest gotowa do użycia.
4.3 Dodatkowe rozważania
Podczas instalacji IronXL, jeśli napotkasz jakiekolwiek problemy związane z zależnościami lub zgodnością z .NET, upewnij się, że wszystkie wymagania systemowe są spełnione zgodnie z dokumentacją IronXL. Może być konieczne dostosowanie ścieżek systemowych lub zainstalowanie dodatkowych bibliotek wsparcia w zależności od systemu operacyjnego.
Postępując zgodnie z tymi instrukcjami, IronXL zostanie zainstalowany w środowisku Python w Visual Studio Code, przygotowując grunt pod zaawansowaną manipulację plikami Excel i przetwarzanie danych w projektach Python.
5. Zainstaluj bibliotekę OpenPyXL dla Python
5.1 Installing OpenPyXL
Instalacja OpenPyXL może być wykonana za pomocą pip, menedżera pakietów Pythona. Zaleca się instalowanie tej biblioteki w środowisku wirtualnym, aby uniknąć konfliktów z innymi projektami Python lub pakietami systemowymi.
Używanie pip do instalacji OpenPyXL: Otwórz interfejs wiersza poleceń (CLI) w Visual Studio Code lub w preferowanym środowisku, gdzie jest aktywne środowisko Python. Wprowadź następujące polecenie:
pip install openpyxlpip install openpyxlSHELLTo polecenie pobiera i instaluje bibliotekę OpenPyXL wraz z potrzebnymi zależnościami.

Zależności opcjonalne: W przypadku zaawansowanego użytkowania, takiego jak dołączanie obrazów lub praca z dużymi plikami, OpenPyXL sugeruje instalację dodatkowych bibliotek, takich jak lxml i Pillow. Aby je zainstalować, użyj:
pip install lxml pillowpip install lxml pillowSHELL
5.2 Weryfikacja instalacji
Po instalacji możesz sprawdzić, czy OpenPyXL jest zainstalowany poprawnie, próbując zaimportować moduł OpenPyXL w swoim skrypcie Python:
from openpyxl import Workbook
wb = Workbook()from openpyxl import Workbook
wb = Workbook()Jeśli powyższy kod zostanie wykonany bez błędów, OpenpyXL jest gotowy do użycia w twoich projektach. Podążając tymi krokami, możesz łatwo skonfigurować OpenPyXL i rozpocząć automatyzację operacji na plikach Excel w swoich aplikacjach Python.
6. Porównanie zaawansowanych funkcji w IronXL i OpenPyXL
6.1 Zaawansowane funkcje IronXL
IronXL to kompleksowa biblioteka Python stworzona w celu ulepszenia manipulacji plikami Excel. To narzędzie upraszcza proces tworzenia, edycji i zarządzania plikami Excel w aplikacjach Python, oferując szeroki zakres funkcji zaspokajających różnorodne potrzeby, od podstawowych operacji na arkuszach do zaawansowanego przetwarzania danych.
6.1.1 Import i eksport danych
IronXL wyróżnia się w obsłudze różnych formatów Excel, w tym XLS, XLSX i CSV. Użytkownicy mogą łatwo importować przykładowe dane z tych formatów lub eksportować arkusze do nich, co ułatwia wszechstronną wymianę danych i rozwiązania raportowe. Możesz także wybrać aktywny arkusz, aby pracować na określonym arkuszu.
from ironxl import *
workbook = WorkBook.Load("sample.csv")
workbook2 = WorkBook.Load("sample.xlsx")
workbook3 = WorkBook.Load("sample.xls")from ironxl import *
workbook = WorkBook.Load("sample.csv")
workbook2 = WorkBook.Load("sample.xlsx")
workbook3 = WorkBook.Load("sample.xls")6.1.2 Wsparcie dla formuł i obliczeń
Biblioteka obsługuje formuły Excel, pozwalając na wykonywanie obliczeń w arkuszu Excel. Za każdym razem, gdy arkusz jest edytowany, formuły są automatycznie przeliczane, zapewniając spójność i dokładność danych.
from ironxl import *
# Create a new Excel workbook
new_workbook = WorkBook()
# Add a worksheet to the workbook
new_worksheet = new_workbook.CreateWorkSheet("NewSheet")
# Set new formulas with different logic
new_worksheet["A1"].Formula = "Average(D1:D5)"
new_worksheet["D1"] = 10
new_worksheet["D2"] = 20
new_worksheet["D3"] = 30
new_worksheet["D4"] = 40
new_worksheet["D5"] = 50
new_worksheet["B1"].Formula = "=D3*D4"
new_worksheet["C1"].Formula = "Min(D1:D5)"
# Force recalculate all formulas in the workbook
new_workbook.EvaluateAll()
# Get the calculated values for each formula
average_value = new_worksheet["A1"].ToArray()[0].FormattedCellValue
product_value = new_worksheet["B1"].ToArray()[0].FormattedCellValue
min_value = new_worksheet["C1"].ToArray()[0].FormattedCellValue
# Save the new workbook to a file with updated formulas and calculated values
new_workbook.SaveAs("sample.xlsx")from ironxl import *
# Create a new Excel workbook
new_workbook = WorkBook()
# Add a worksheet to the workbook
new_worksheet = new_workbook.CreateWorkSheet("NewSheet")
# Set new formulas with different logic
new_worksheet["A1"].Formula = "Average(D1:D5)"
new_worksheet["D1"] = 10
new_worksheet["D2"] = 20
new_worksheet["D3"] = 30
new_worksheet["D4"] = 40
new_worksheet["D5"] = 50
new_worksheet["B1"].Formula = "=D3*D4"
new_worksheet["C1"].Formula = "Min(D1:D5)"
# Force recalculate all formulas in the workbook
new_workbook.EvaluateAll()
# Get the calculated values for each formula
average_value = new_worksheet["A1"].ToArray()[0].FormattedCellValue
product_value = new_worksheet["B1"].ToArray()[0].FormattedCellValue
min_value = new_worksheet["C1"].ToArray()[0].FormattedCellValue
# Save the new workbook to a file with updated formulas and calculated values
new_workbook.SaveAs("sample.xlsx")
6.1.3 Zaawansowane formatowanie komórek
IronXL oferuje rozbudowane opcje formatowania komórek. Użytkownicy mogą dostosowywać czcionki, rozmiary, tła, obramowania i wyrównanie bezpośrednio w arkuszu Excel za pomocą kodu. Ta funkcja pomaga przygotować prezentacje danych i raporty, które wymagają określonych wytycznych stylistycznych.
from ironxl import *
License.LicenseKey = "License Code";
workbook = WorkBook()
new_worksheet = workbook.CreateWorkSheet("FinanceData")
selected_range = new_worksheet["B2:B6"]
new_worksheet["B2"].Value = "Revenue"
new_worksheet["B3"].Value = 150000
new_worksheet["B4"].Value = 200000
new_worksheet["B5"].Value = 180000
new_worksheet["B6"].Value = 220000
selected_range.Style.SetBackgroundColor("#4CAF50")
selected_range.Style.Font.Underline = FontUnderlineType.Single
selected_range.Style.Font.Strikeout = False
selected_range.Style.Font.Bold = True
selected_range.Style.Font.Italic = False
selected_range.Style.TopBorder.Type = BorderType.Thin
selected_range.Style.BottomBorder.Type = BorderType.Thin
selected_range.Style.LeftBorder.Type = BorderType.Thin
selected_range.Style.RightBorder.Type = BorderType.Thin
selected_range.Style.TopBorder.SetColor("#000000")
selected_range.Style.BottomBorder.SetColor("#000000")
selected_range.Style.LeftBorder.SetColor("#000000")
selected_range.Style.RightBorder.SetColor("#000000")
selected_range.Style.VerticalAlignment = VerticalAlignment.Center
selected_range.Style.HorizontalAlignment = HorizontalAlignment.Center
selected_range.Style.FillPattern = FillPattern.LessDots
selected_range.Style.Indention = 0
selected_range.Style.WrapText = True
# Save the new workbook to a file with updated formulas and calculated values
workbook.SaveAs("styled.xlsx")from ironxl import *
License.LicenseKey = "License Code";
workbook = WorkBook()
new_worksheet = workbook.CreateWorkSheet("FinanceData")
selected_range = new_worksheet["B2:B6"]
new_worksheet["B2"].Value = "Revenue"
new_worksheet["B3"].Value = 150000
new_worksheet["B4"].Value = 200000
new_worksheet["B5"].Value = 180000
new_worksheet["B6"].Value = 220000
selected_range.Style.SetBackgroundColor("#4CAF50")
selected_range.Style.Font.Underline = FontUnderlineType.Single
selected_range.Style.Font.Strikeout = False
selected_range.Style.Font.Bold = True
selected_range.Style.Font.Italic = False
selected_range.Style.TopBorder.Type = BorderType.Thin
selected_range.Style.BottomBorder.Type = BorderType.Thin
selected_range.Style.LeftBorder.Type = BorderType.Thin
selected_range.Style.RightBorder.Type = BorderType.Thin
selected_range.Style.TopBorder.SetColor("#000000")
selected_range.Style.BottomBorder.SetColor("#000000")
selected_range.Style.LeftBorder.SetColor("#000000")
selected_range.Style.RightBorder.SetColor("#000000")
selected_range.Style.VerticalAlignment = VerticalAlignment.Center
selected_range.Style.HorizontalAlignment = HorizontalAlignment.Center
selected_range.Style.FillPattern = FillPattern.LessDots
selected_range.Style.Indention = 0
selected_range.Style.WrapText = True
# Save the new workbook to a file with updated formulas and calculated values
workbook.SaveAs("styled.xlsx")
6.1.4 Walidacja danych i sortowanie
Aby zwiększyć integralność danych, IronXL obejmuje funkcje walidacji danych. Oferuje również solidne możliwości sortowania dla zakresów, kolumn i wierszy, co ułatwia organizację i analizowanie dużych zbiorów danych.
6.1.5 Bezpieczeństwo dokumentów
Funkcje bezpieczeństwa w IronXL obejmują możliwość szyfrowania i deszyfrowania plików Excel. To zapewnia, że poufne informacje są chronione i dostępne tylko dla autoryzowanych użytkowników.
from ironxl import *
# Load a different Excel workbook
workbook = WorkBook.Load("data_file.xlsx")
worksheet = workbook.DefaultWorkSheet
# Open a different protected spreadsheet file
protected_workbook = WorkBook.Load("protected_data.xlsx", "ExcelSecure")
# Apply encryption to the spreadsheet file
workbook.Encrypt("ExcelSecure")
# Clear any existing password protection
workbook.Password = None
# Save changes to the workbook
workbook.Save()
worksheet.ProtectSheet("SheetSecure")
worksheet.UnprotectSheet()
workbook.Save()from ironxl import *
# Load a different Excel workbook
workbook = WorkBook.Load("data_file.xlsx")
worksheet = workbook.DefaultWorkSheet
# Open a different protected spreadsheet file
protected_workbook = WorkBook.Load("protected_data.xlsx", "ExcelSecure")
# Apply encryption to the spreadsheet file
workbook.Encrypt("ExcelSecure")
# Clear any existing password protection
workbook.Password = None
# Save changes to the workbook
workbook.Save()
worksheet.ProtectSheet("SheetSecure")
worksheet.UnprotectSheet()
workbook.Save()
6.1.6 Zdolności konwersji
IronXL nie ogranicza się do obsługi plików Excel, takich jak XLSX, XLSM, XLTX, XLTM. Może także konwertować dokumenty Excel do formatów JSON, XML, HTML lub binarnych, poszerzając możliwości wykorzystania danych na różnych platformach i w środowiskach programistycznych.
from ironxl import *
workbook = WorkBook.Create()
worksheet = workbook.CreateWorkSheet("Sheet1")
worksheet["B1"].Value = "Sample Text"
worksheet["B2"].Style.BottomBorder.SetColor("#0077CC")
workbook.SaveAs("output.xls")
workbook.SaveAs("output.xlsx")
workbook.SaveAs("output.tsv")
workbook.SaveAsCsv("output.csv")
workbook.SaveAsJson("output.json")
workbook.SaveAsXml("output.xml")
workbook.ExportToHtml("output.html")from ironxl import *
workbook = WorkBook.Create()
worksheet = workbook.CreateWorkSheet("Sheet1")
worksheet["B1"].Value = "Sample Text"
worksheet["B2"].Style.BottomBorder.SetColor("#0077CC")
workbook.SaveAs("output.xls")
workbook.SaveAs("output.xlsx")
workbook.SaveAs("output.tsv")
workbook.SaveAsCsv("output.csv")
workbook.SaveAsJson("output.json")
workbook.SaveAsXml("output.xml")
workbook.ExportToHtml("output.html")6.1.7 Zarządzanie arkuszami i skoroszytami
Biblioteka upraszcza zarządzanie skoroszytami, pozwalając użytkownikom tworzyć, ładować i manipulować całymi skoroszytami lub indywidualnymi arkuszami. To obejmuje dodawanie lub usuwanie arkuszy, a także ustawianie widoczności arkuszy i ustawień drukowania.
from ironxl import *
# Load the Excel workbook
workbook = WorkBook.Load("sample.xlsx")
# Create a new worksheet
new_worksheet = workbook.CreateWorkSheet("NewSheet")
# Fill data into the new worksheet
for i in range(1, 21):
new_worksheet[f"A{i}"].Value = f"Data {i}"
new_worksheet[f"B{i}"].Value = 21 - i
new_worksheet[f"C{i}"].Value = i % 5
new_worksheet[f"D{i}"].Value = (i * 3) % 7
# Select a range in the new worksheet
selected_range = new_worksheet["A1:D20"]
# Select column B in the new worksheet
column = new_worksheet.GetColumn(1)
# Sort the range in ascending order based on column A
selected_range.SortAscending()
# Sort the range by column C in ascending order
selected_range.SortByColumn("C", SortOrder.Ascending)
# Sort column B in descending order
column.SortDescending()
# Save the changes
workbook.SaveAs("sortedExcelRange.xlsx")from ironxl import *
# Load the Excel workbook
workbook = WorkBook.Load("sample.xlsx")
# Create a new worksheet
new_worksheet = workbook.CreateWorkSheet("NewSheet")
# Fill data into the new worksheet
for i in range(1, 21):
new_worksheet[f"A{i}"].Value = f"Data {i}"
new_worksheet[f"B{i}"].Value = 21 - i
new_worksheet[f"C{i}"].Value = i % 5
new_worksheet[f"D{i}"].Value = (i * 3) % 7
# Select a range in the new worksheet
selected_range = new_worksheet["A1:D20"]
# Select column B in the new worksheet
column = new_worksheet.GetColumn(1)
# Sort the range in ascending order based on column A
selected_range.SortAscending()
# Sort the range by column C in ascending order
selected_range.SortByColumn("C", SortOrder.Ascending)
# Sort column B in descending order
column.SortDescending()
# Save the changes
workbook.SaveAs("sortedExcelRange.xlsx")
6.1.8 Wstawianie nowych wierszy i kolumn
IronXL pozwala użytkownikom dynamicznie wstawiać nowe wiersze i kolumny do istniejących arkuszy Excel. Ta funkcja jest szczególnie przydatna do modyfikacji struktur danych w odpowiedzi na zmieniające się potrzeby danych bez zakłócania ogólnego układu arkusza.
# Add a row before second row
worksheet.InsertRow(1)
# Insert multiple rows before 5th Row
worksheet.InsertRows(4, 4)
# Add a column before column C
worksheet.InsertColumn(2)
# Insert multiple columns before column B
worksheet.InsertColumns(1, 3)# Add a row before second row
worksheet.InsertRow(1)
# Insert multiple rows before 5th Row
worksheet.InsertRows(4, 4)
# Add a column before column C
worksheet.InsertColumn(2)
# Insert multiple columns before column B
worksheet.InsertColumns(1, 3)6.1.9 Grupowanie i rozgrupowywanie wierszy i kolumn
Z IronXL, użytkownicy mogą grupować lub rozgrupowywać wiersze i kolumny. Ta funkcjonalność zwiększa organizację danych, pozwalając na łatwiejszą nawigację i zarządzanie złożonymi zbiorami danych przez zwijanie i rozwijanie zgrupowanych danych w razie potrzeby.
6.1.10 Powtarzanie wierszy i kolumn Excel
IronXL wspiera powtarzanie wierszy i kolumn na wielu stronach skoroszytu. Jest to przydatne do tworzenia nagłówków lub stopki, które muszą się pojawić na każdej wydrukowanej stronie dokumentu Excel, zapewniając spójną prezentację i czytelność.
# Configure rows 2 to 5 to repeat at the top of each printed page
worksheet.SetRepeatingRows(1, 4)
# Configure columns D to F to repeat on the left side of each printed page
worksheet.SetRepeatingColumns(3, 5)
# Insert a page break after column J so that columns A-J appear on the first printed page
worksheet.SetColumnBreak(9)# Configure rows 2 to 5 to repeat at the top of each printed page
worksheet.SetRepeatingRows(1, 4)
# Configure columns D to F to repeat on the left side of each printed page
worksheet.SetRepeatingColumns(3, 5)
# Insert a page break after column J so that columns A-J appear on the first printed page
worksheet.SetColumnBreak(9)6.1.11 Kopiowanie arkuszy Excel
Użytkownicy mogą duplikować istniejące arkusze w tym samym skoroszycie za pomocą IronXL. Ta funkcja oszczędza czas przy tworzeniu wielu arkuszy o wspólnym formacie lub podczas tworzenia kopii zapasowej ważnych danych. Jest to bardzo pomocne do celów kopiowania danych.
# Duplicate the worksheet to the same workbook
worksheet.CopySheet("Copied Sheet")
# Duplicate the worksheet to another workbook with the specified name
worksheet.CopyTo(second_book, "Copied Sheet")# Duplicate the worksheet to the same workbook
worksheet.CopySheet("Copied Sheet")
# Duplicate the worksheet to another workbook with the specified name
worksheet.CopyTo(second_book, "Copied Sheet")6.1.12 Dodawanie, wyodrębnianie i usuwanie obrazów arkusza
IronXL zapewnia możliwość dodawania obrazów do arkuszy, wyodrębniania obrazów z nich lub usuwania obrazów. To zwiększa atrakcyjność wizualną arkuszy i jest przydatne do raportów zawierających dane graficzne, loga lub obrazy instruktażowe.
6.2 Zaawansowane funkcje OpenPyXL
6.2.1 Formatowanie warunkowe
OpenPyXL pozwala na formatowanie warunkowe, umożliwiając zmianę stylu komórek w oparciu o dane, które zawierają. To może obejmować ustawianie kolorów na podstawie wartości liczbowych lub stosowanie różnych czcionek i stylów w oparciu o określone warunki, poprawiając wizualną prezentację danych.
from openpyxl import Workbook
from openpyxl.formatting.rule import ColorScaleRule
wb = Workbook()
ws = wb.active
color_scale = ColorScaleRule(start_type='num', start_value=10, start_color='FF0000',
end_type='num', end_value=20, end_color='00FF00')
ws.conditional_formatting.add('A1:A10', color_scale)
wb.save('conditional_formatting.xlsx')from openpyxl import Workbook
from openpyxl.formatting.rule import ColorScaleRule
wb = Workbook()
ws = wb.active
color_scale = ColorScaleRule(start_type='num', start_value=10, start_color='FF0000',
end_type='num', end_value=20, end_color='00FF00')
ws.conditional_formatting.add('A1:A10', color_scale)
wb.save('conditional_formatting.xlsx')6.2.2 Walidacja danych
Z OpenPyXL możesz implementować walidację danych, aby kontrolować, jaki typ danych jest wpisywany do komórek. To obejmuje ustawienia list rozwijanych, ograniczenie wpisów do określonego zakresu dat lub liczb i generowanie komunikatów o błędach dla nieprawidłowych wpisów, co pomaga utrzymać integralność danych.
from openpyxl import Workbook
from openpyxl.worksheet.datavalidation import DataValidation
wb = Workbook()
ws = wb.active
dv = DataValidation(type="list", formula1='"Item1,Item2,Item3"', allow_blank=True)
ws.add_data_validation(dv)
dv.add('A1')
ws['A1'] = 'Item1'
wb.save('data_validation.xlsx')from openpyxl import Workbook
from openpyxl.worksheet.datavalidation import DataValidation
wb = Workbook()
ws = wb.active
dv = DataValidation(type="list", formula1='"Item1,Item2,Item3"', allow_blank=True)
ws.add_data_validation(dv)
dv.add('A1')
ws['A1'] = 'Item1'
wb.save('data_validation.xlsx')
6.2.3 Wykresy
Biblioteka obsługuje tworzenie i dostosowywanie różnych typów wykresów, takich jak liniowe, słupkowe, kołowe i punktowe. Ta funkcja umożliwia wizualizację danych bezpośrednio wewnątrz arkuszy Excel, ułatwiając lepszą analizę i raportowanie danych. Zaznaczamy wiersz wykresu i wybieramy odniesienie wartości do pokazania na wykresie.
from openpyxl import Workbook
from openpyxl.chart import BarChart, Reference
wb = Workbook()
ws = wb.active
for i in range(10):
ws.append([i])
values = Reference(ws, min_col=1, min_row=1, max_col=1, max_row=10)
chart = BarChart()
chart.add_data(values)
ws.add_chart(chart, "E5")
wb.save("chart.xlsx")from openpyxl import Workbook
from openpyxl.chart import BarChart, Reference
wb = Workbook()
ws = wb.active
for i in range(10):
ws.append([i])
values = Reference(ws, min_col=1, min_row=1, max_col=1, max_row=10)
chart = BarChart()
chart.add_data(values)
ws.add_chart(chart, "E5")
wb.save("chart.xlsx")
6.2.4 Scalanie i rozdzielanie komórek
OpenPyXL zapewnia możliwość scalania wielu komórek w celu stworzenia jednej większej komórki, co jest często przydatne do formatowania tytułów lub organizowania danych. Pozwala również na rozdzielanie tych komórek z powrotem na pojedyncze komórki, jeśli zajdzie taka potrzeba.
6.2.5 Czytanie i pisanie komentarzy
Możesz czytać i pisać komentarze do komórek, co pozwala na dodanie dodatkowych notatek lub instrukcji w pliku Excel. Ta funkcja jest szczególnie przydatna w projektach zespołowych, gdzie notatki i wytyczne mogą być wymieniane między użytkownikami.
from openpyxl import Workbook
from openpyxl.comments import Comment
wb = Workbook()
ws = wb.active
comment = Comment(text="This is a comment", author="Author")
ws['A1'].comment = comment
wb.save('comments.xlsx')from openpyxl import Workbook
from openpyxl.comments import Comment
wb = Workbook()
ws = wb.active
comment = Comment(text="This is a comment", author="Author")
ws['A1'].comment = comment
wb.save('comments.xlsx')6.2.6 Tabele przestawne
Biblioteka oferuje możliwość tworzenia tabel przestawnych z danych wewnątrz twoich arkuszy. To potężne narzędzie pomaga podsumowywać, analizować, badać i prezentować twoje dane kompleksowo, ułatwiając wyciągnięcie wniosków i podejmowanie świadomych decyzji na podstawie dużych zbiorów danych.
7. Dokumentacja i wsparcie
7.1 Dokumentacja i wsparcie IronXL dla Python
Dokumentacja: IronXL zapewnia rozległą dokumentację dla programistów Python. Obejmuje szeroki zakres tematów, w tym jak czytać, pisać i edytować dokumenty Excel, zarządzać skoroszytami, stylizować komórki i sortować dane programistycznie. Dokumentacja jest zaprojektowana, aby być zrozumiała, uzupełniona licznymi przykładami kodu, które pomagają programistom szybko zintegrować funkcje IronXL z ich aplikacjami.
Wsparcie: IronXL oferuje solidne opcje wsparcia. Programiści mają dostęp do wsparcia poprzez kompleksową sekcję FAQ, szczegółową dokumentację online i bezpośrednią pomoc e-mail. W przypadku bardziej złożonych zapytań lub pilnej pomocy, istnieje opcja skontaktowania się bezpośrednio z zespołem inżynierów.
7.2 Dokumentacja i wsparcie OpenPyXL
Dokumentacja: Dokumentacja OpenPyXL jest gruntowna i dobrze zorganizowana, oferując przewodniki dla programistów od podstaw po zaawansowane funkcje, takie jak wykresy, walidacja danych z komunikatami o błędach i formatowanie warunkowe. Dokumentacja zawiera szczegółowe wyjaśnienia i przykłady kodu, które są pomocne zarówno dla nowych, jak i doświadczonych użytkowników.
Wsparcie: OpenPyXL oferuje wsparcie głównie przez forum społeczności i rejestry problemów na swoich oficjalnych repozytoriach. Programiści mogą zgłaszać problemy i przyczyniać się do rozwoju biblioteki na GitHub, co czyni ją współpracującym i ciągle rozwijającym się narzędziem.
8. Informacje o licencjonowaniu
8.1 Licencja IronXL
IronXL oferuje kilka opcji licencji wieczystej, dopasowanych do różnych potrzeb projektowych, zapewniając, że programiści mogą korzystać z biblioteki w różnych środowiskach bez bieżących kosztów.
- Lite License: W cenie $999, ta opcja jest odpowiednia dla 1 programisty, 1 lokalizacji i 1 projektu. Zawiera wsparcie e-mail.
- Plus License: Ta opcja kosztuje $1,499 i rozszerza zakres na 3 programistow, 3 lokalizacje i 3 projekty. Zawiera wsparcie e-mail, wsparcie czatu 24/7 i wsparcie telefoniczne.
- Professional License: W cenie $2,999, jest to najbardziej kompleksowy pakiet, wspierajacy 10 programistow, 10 lokalizacji i 10 projektow. Oferuje te same opcje wsparcia co licencja Plus, wraz z wsparciem współdzielenia ekranów dla kompleksowej pomocy.
Dodatkowe opcje obejmują:
- Redystrybucja bez oplat licencyjnych : Wymagane do dystrybucji IronXL w opakowanych produktach oprogramowania, aplikacjach SaaS i OEM. To nie jest dostępne dla licencji Lite i musi być zakupione z licencjami Plus lub Professional.
- Rozszerzone wsparcie produktowe i aktualizacje: Programiści mogą wybrać ciągłe wsparcie i aktualizacje z 1-roczną bezpłatną opcją lub 5-letnim pakietem za 499 dolarów. To obejmuje aktualizacje funkcji zabezpieczeń i bezpośrednie wsparcie od zespołów inżynierskich.
Każda licencja obejmuje również 30-dniową gwarancję zwrotu pieniędzy, umożliwiającą programistom testowanie IronXL bez ryzyka. Te warunki licencji sprawiają, że IronXL to elastyczna opcja dla projektów o różnych zakresach i rozmiarach, zapewniając jasne ścieżki wdrażania w różnych środowiskach zawodowych.
8.2 Licencja OpenPyXL
OpenPyXL jest dystrybuowany na licencji MIT, która jest przyzwalającą licencją na wolne oprogramowanie. To oznacza, że pozwala na znaczny zakres wolności w używaniu zarówno dla otwartego kodu źródłowego, jak i dla oprogramowania własnościowego. Licencja MIT pozwala na ponowne wykorzystanie w oprogramowaniu własnościowym pod warunkiem, że wszystkie kopie licencjonowanego oprogramowania zawierają kopię warunków licencji MIT i informacje o prawach autorskich.
9. Podsumowanie

W naszej recenzji IronXL i OpenPyXL przyjrzeliśmy się ich funkcjom, użyteczności, opcjom wsparcia i licencjonowaniu. Obie biblioteki są doskonałe do zarządzania plikami Excel, ale odpowiadają na różne potrzeby.
IronXL wyróżnia się dzięki swoim rozległym funkcjom, które pozwalają na złożone manipulacje Excel bez konieczności posiadania Microsoft Office. Oferuje szczegółową dokumentację i silne wsparcie techniczne, co czyni go niezawodnym wyborem dla większych projektów lub przedsiębiorstw. Naukowcy zajmujący się danymi używają IronXL do wielu celów, takich jak kopiowanie danych, eksploracja danych, analiza danych i wiele innych zadań. Licencje IronXL zaczynaja sie od $999, ale zawiera bezplatna wersje probna. Ta próba pozwala programistom w pełni przetestować możliwości IronXL przed dokonaniem zakupu, co jest dużą zaletą dla każdego poważnego projektu.
OpenPyXL jest również potężny, szczególnie z zaawansowanymi funkcjami Excel, takimi jak wykresy, takie jak wykres liniowy, i formatowanie warunkowe. Jest dostępna na licencji MIT, która oferuje elastyczność zarówno dla otwartego kodu źródłowego, jak i komercyjnego wykorzystania. Jej wsparcie jest oparte na społeczności, co jest fajne, ale nie ma strukturalnego wsparcia, które oferuje IronXL.
Jeśli twój projekt wymaga zaawansowanych funkcji i profesjonalnego, ciągłego wsparcia, IronXL jest lepszym wyborem. Może kosztować początkowo, ale inwestycja jest warto w korzyści i bezpieczeństwo, jakie oferuje, zwłaszcza dla złożonych lub długoterminowych projektów.
Często Zadawane Pytania
Jakie sa podstawowe funkcje IronXL i OpenPyXL?
IronXL i OpenPyXL sa zaprojektowane do zarządzania plikami arkuszy kalkulacyjnych Excel, umożliwiajac deweloperom wykonywanie zadań, takich jak odczyt, zapis i modyfikacja dokumentów Excel. Wspieraja zaawansowane funkcje, takie jak tworzenie formuł, formatowanie komorek oraz obsługa rozleglych zestawow danych.
Jak mogę manipulowac plikami Excel bez Microsoft Excel?
IronXL umożliwia manipulacje plikami Excel bez potrzeby instalacji Microsoft Excel. Dziala niezależnie na ramach .NET, zapewniając solidne możliwości manipulacji plikami Excel na wielu platformach.
Jakie są zalety korzystania z IronXL do manipulacji plikami Excel?
IronXL oferuje korzysci, takie jak wsparcie wielopłatformowe, zaawansowane formatowanie komorek, walidacja danych, zabezpieczenia dokumentów oraz możliwości konwersji do różnych formatow, takich jak JSON, XML i HTML. Jest odpowiedni dla zlozonych projektow wymagajacych kompleksowych funkcji i profesjonalnego wsparcia.
Czy OpenPyXL wspiera tworzenie wykresow i tabel przestawnych?
Tak, OpenPyXL wspiera tworzenie różnych typow wykresow i tabel przestawnych, umożliwiajac wizualizacje danych i kompleksowa analize danych bezpośrednio w arkuszach Excel.
Czy potrzebna jest komercyjna licencja do używania IronXL?
Tak, IronXL oferuje komercyjna licencje z różnymi opcjami wsparcia, w tym okresem próbnym, ktory zapewnia silne wsparcie techniczne i kompleksowe możliwości manipulacji plikami Excel.
W jaki sposob OpenPyXL radzi sobie z integracja formuł Excel?
OpenPyXL może zarządzać i oceniac formuly w arkuszach Excel, umożliwiajac zlozone operacje na danych i zachowanie integralnosci danych podczas manipulacji plikami.
Jakie opcje wsparcia sa dostępne dla użytkowników OpenPyXL?
OpenPyXL polega na wsparciu opartym na spolecznosci za pośrednictwem forow i GitHub, oferujac współpracę w rozwiazywaniu problemow, podczas gdy IronXL zapewnia bezpośrednie wsparcie przez e-mail, czat i telefon.
Jakie formaty Excel wspiera IronXL?
IronXL wspiera różne formaty plików Excel, umożliwiajac deweloperom prace z różnymi typami dokumentów Excel oraz pozwalając na rozbudowane możliwości konwersji na wiele formatow danych.
W jaki sposob IronXL i OpenPyXL różnią sie pod wzgledem kompatybilnosci platformowej?
IronXL jest kompatybilny z Windows, macOS i Linux, zapewniając wszechstronnosc dla aplikacji w różnych środowiskach operacyjnych. OpenPyXL jest głównie używany w środowiskach Python i koncentruje sie na manipulacji plikami XLSX.










