MC, 2025
Ilustracja do artykułu: OpenPyXL – Automatyzacja Excela w Pythonie? To Prostsze, Niż Myślisz!

OpenPyXL – Automatyzacja Excela w Pythonie? To Prostsze, Niż Myślisz!

Jeśli kiedykolwiek miałeś do czynienia z plikami Excela i chciałeś zautomatyzować ich obsługę, biblioteka OpenPyXL jest dokładnie tym, czego potrzebujesz. Python pozwala w łatwy sposób tworzyć, edytować i analizować arkusze kalkulacyjne, a OpenPyXL daje możliwość obsługi plików w formacie .xlsx. Dzięki niej możesz generować raporty, odczytywać dane i aktualizować istniejące arkusze – wszystko bez konieczności otwierania Excela!

Co to jest OpenPyXL?

OpenPyXL to biblioteka w języku Python, która pozwala na obsługę plików programu Microsoft Excel w formacie .xlsx i .xlsm. Jest szczególnie przydatna, gdy chcemy zautomatyzować przetwarzanie dużych ilości danych lub gdy pracujemy na serwerze, gdzie Excel nie jest zainstalowany. OpenPyXL umożliwia zarówno odczytywanie, jak i modyfikowanie arkuszy, formatowanie komórek, dodawanie wykresów czy też zarządzanie formułami.

Instalacja OpenPyXL

Zanim zaczniemy pracę z biblioteką, musimy ją zainstalować. Można to zrobić w bardzo prosty sposób, korzystając z menedżera pakietów pip:

pip install openpyxl

Po zainstalowaniu biblioteki możemy przejść do pierwszych operacji na arkuszach Excela.

Tworzenie nowego pliku Excel

Zacznijmy od prostego przykładu – stworzymy nowy plik Excela, dodamy do niego arkusz i zapiszemy go na dysku.

from openpyxl import Workbook

# Tworzenie nowego pliku Excel
wb = Workbook()

# Wybór aktywnego arkusza
ws = wb.active

# Ustawienie wartości w komórce
ws['A1'] = "Witaj, Excel!"

# Zapisanie pliku
wb.save("nowy_plik.xlsx")

W powyższym kodzie utworzyliśmy nowy plik Excel, wybraliśmy domyślny arkusz i wpisaliśmy w komórkę A1 tekst "Witaj, Excel!". Następnie zapisaliśmy plik jako "nowy_plik.xlsx".

Odczytywanie danych z pliku Excel

Teraz sprawdźmy, jak możemy odczytać dane z istniejącego pliku Excel.

from openpyxl import load_workbook

# Wczytanie istniejącego pliku Excel
wb = load_workbook("nowy_plik.xlsx")

# Wybór aktywnego arkusza
ws = wb.active

# Odczyt wartości z komórki A1
print(ws['A1'].value)

W tym przykładzie załadowaliśmy istniejący plik Excel i odczytaliśmy wartość komórki A1. Dzięki temu możemy łatwo analizować dane znajdujące się w arkuszach.

Dodawanie danych do arkusza

Załóżmy, że chcemy dodać kilka wierszy do istniejącego arkusza. Możemy to zrobić za pomocą metody append().

from openpyxl import load_workbook

# Wczytanie pliku
wb = load_workbook("nowy_plik.xlsx")
ws = wb.active

# Dodanie nowych wierszy
ws.append(["Imię", "Nazwisko", "Wiek"])
ws.append(["Jan", "Kowalski", 30])
ws.append(["Anna", "Nowak", 25])

# Zapisanie zmian
wb.save("nowy_plik.xlsx")

W ten sposób dodaliśmy nowe dane do arkusza – możemy teraz otworzyć plik w Excelu i zobaczyć, że dane zostały dopisane do arkusza.

Stylizacja komórek

OpenPyXL pozwala również na formatowanie komórek – możemy zmieniać kolory, czcionki, rozmiary i wiele innych parametrów.

from openpyxl import Workbook
from openpyxl.styles import Font, Color

# Tworzenie pliku Excel
wb = Workbook()
ws = wb.active

# Ustawienie stylu czcionki
bold_font = Font(bold=True, color="FF0000")  # Czerwona, pogrubiona czcionka

# Ustawienie wartości w komórkach
ws['A1'] = "Nagłówek"
ws['A1'].font = bold_font

# Zapisanie pliku
wb.save("sformatowany.xlsx")

Po otwarciu pliku zobaczymy, że nagłówek w komórce A1 jest czerwony i pogrubiony.

Tworzenie wykresów

OpenPyXL pozwala również na tworzenie wykresów na podstawie danych zawartych w arkuszu.

from openpyxl import Workbook
from openpyxl.chart import BarChart, Reference

# Tworzenie nowego pliku Excel
wb = Workbook()
ws = wb.active

# Dodanie danych do arkusza
data = [
    ["Kategoria", "Wartość"],
    ["A", 10],
    ["B", 40],
    ["C", 30]
]

for row in data:
    ws.append(row)

# Tworzenie wykresu
chart = BarChart()
values = Reference(ws, min_col=2, min_row=2, max_row=4)
chart.add_data(values, titles_from_data=True)
ws.add_chart(chart, "E5")

# Zapisanie pliku
wb.save("wykres.xlsx")

Po otwarciu pliku Excel zobaczymy wygenerowany wykres słupkowy na podstawie danych w tabeli.

Podsumowanie

Biblioteka OpenPyXL to potężne narzędzie dla każdego, kto chce zautomatyzować pracę z arkuszami Excela. Umożliwia tworzenie i edycję plików, odczytywanie danych, dodawanie wykresów i stylizowanie komórek – a to dopiero początek możliwości!

W artykule przedstawiliśmy podstawowe funkcje biblioteki wraz z przykładami kodu, które możesz wykorzystać w swoich projektach. Teraz możesz zacząć tworzyć swoje własne skrypty i usprawniać pracę z danymi. Powodzenia w automatyzacji Excela z OpenPyXL!

Komentarze (0) - Nikt jeszcze nie komentował - bądź pierwszy!

Imię:
Treść: