Zapis i stylizowanie komórek
Twórz i formatuj arkusze kalkulacyjne
Zapis i stylizowanie komórek to bezpłatna lekcja Python Academy na CoddyKit. To lekcja 2 z 4. Możesz przeczytać całą lekcję poniżej za darmo — a potem ćwiczyć ją interaktywnie w przeglądarce z wbudowanym edytorem kodu i tutorem AI dostępnym 24/7. To część ścieżki edukacyjnej Python Academy, a Twój postęp synchronizuje się między webem a aplikacją CoddyKit. Kurs Python Academy zawiera 4 lekcji w sumie.
Tworzenie arkuszy kalkulacyjnych
Oprócz odczytywania openpyxl umożliwia tworzenie arkuszy kalkulacyjnych od podstaw: wpisywanie wartości, formatowanie komórek i nadawanie im stylów, dzięki czemu wynik wygląda profesjonalnie, a nie jak surowe dane.
Ta lekcja dotyczy zapisywania danych i stosowania formatowania.
Nowy skoroszyt
Workbook() tworzy pusty skoroszyt z jednym arkuszem. Można pobrać go za pomocą ws = wb.active i opcjonalnie zmienić jego nazwę przez ws.title = 'Report'.
Więcej arkuszy można dodać za pomocą wb.create_sheet('Details').
Zapisywanie wartości
Wartość można przypisać bezpośrednio do komórki: ws['A1'] = 'Name' lub ws.cell(row=1, column=1, value='Name'). Aby dodać cały wiersz na końcu, proszę użyć ws.append([...]).
Sposób z append świetnie sprawdza się przy zapisywaniu tabel wiersz po wierszu.
header = ['Name', 'Score']
data = [['Ada', 95], ['Linus', 88], ['Grace', 99]]
print('append:', header)
for row in data:
print('append:', row)Zapisywanie pliku
Nic nie zostanie zapisane na dysku, dopóki nie zostanie wywołane wb.save('report.xlsx'). Zapomnienie o zapisie to najczęstszy błąd początkujących. Proszę zawsze zapisać plik po ostatniej operacji zapisu.
Czcionki
Stylowanie wykorzystuje niewielkie obiekty stylu z openpyxl.styles. Obiekt Font(bold=True, size=14, color='FF0000') przypisany do cell.font sprawia, że tekst jest pogrubiony, większy i czerwony.
Kolory są ośmioznakowymi ciągami szesnastkowymi ARGB.
alpha = 'FF'
rgb = '0000FF'
argb = alpha + rgb
print('Blue, fully opaque:', argb)Wypełnienia i kolor tła
Obiekt PatternFill(start_color='FFFF00', fill_type='solid') przypisany do cell.fill wypełnia tło komórki, na przykład wyróżniając wiersz nagłówka kolorem żółtym. Wypełnienia przyciągają wzrok do ważnych obszarów.
Wyrównanie
Alignment(horizontal='center', vertical='center', wrap_text=True) przypisane do cell.alignment wyśrodkowuje tekst i zawija długą treść w komórce. Dobre wyrównanie zwiększa czytelność tabel.
Obramowania
Obramowania tworzy się z obiektów Side opakowanych w Border: cienki bok na wszystkich czterech krawędziach obrysowuje komórkę. Zastosowanie tego samego obramowania do zakresu tworzy przejrzystą siatkę.
Formaty liczb
Sposób wyświetlania liczb można ustawić za pomocą cell.number_format, na przykład '#,##0.00' oznacza dwie cyfry po przecinku z separatorami tysięcy, a '0%' służy do wyświetlania wartości procentowych. Zapisana wartość pozostaje taka sama — zmienia się tylko sposób jej wyświetlania.
value = 1234567.5
formatted = format(value, ',.2f')
print('Stored:', value)
print('Displayed:', formatted)Szerokości kolumn i scalanie
Szerokość kolumny można ustawić za pomocą ws.column_dimensions['A'].width = 20. Aby utworzyć tytuł obejmujący wiele komórek, proszę scalić je za pomocą ws.merge_cells('A1:D1'). Te wykończeniowe elementy sprawiają, że wynik wygląda jak przygotowany ręcznie.
Ponowne używanie obiektów stylu
Obiekty stylu, takie jak Font i PatternFill, można utworzyć raz i zastosować do wielu komórek. Proszę zdefiniować styl nagłówka, a następnie przejść po wierszu nagłówka i przypisać go do każdej komórki. Dzięki temu formatowanie pozostaje spójne, a kod jest krótki.
Proszę traktować style jak stałe wielokrotnego użytku, zamiast tworzyć je ponownie dla każdej komórki.
Szybki test
Proszę sprawdzić swoją wiedzę na temat zapisywania i stylowania.
Podsumowanie
Można już tworzyć sformatowane arkusze kalkulacyjne:
Workbook(),wb.active,create_sheetiws.append- Proszę zawsze kończyć pracę wywołaniem
wb.save(path) - Stylowanie za pomocą
Font,PatternFill,AlignmentiBorderzopenpyxl.styles number_formatdo określania sposobu wyświetlania, a także szerokości kolumn imerge_cells
Często zadawane pytania
Czy lekcja „Zapis i stylizowanie komórek” jest bezpłatna?
Tak — pełny tekst „Zapis i stylizowanie komórek” jest dostępny za darmo tutaj w sieci. Aby ćwiczyć ją interaktywnie (wbudowany edytor kodu i tutor AI dostępny 24/7) i odblokować resztę kursu Python Academy, przejdź na CoddyKit PRO. Kurs Python Academy zawiera 4 lekcji w sumie.
Co nauczysz się w „Zapis i stylizowanie komórek”?
Twórz i formatuj arkusze kalkulacyjne Ćwiczysz Python Academy z praktycznym kodem, który uruchamiasz bezpośrednio w przeglądarce, a tutor AI dostępny 24/7 odpowiada na Twoje pytania podczas pracy nad lekcją.
Czy potrzebuję doświadczenia, aby zacząć Python Academy?
Nie wymagamy żadnego doświadczenia. Python Academy w CoddyKit jest strukturyzowany dla początkujących i zaawansowanych użytkowników, więc możesz zacząć tutaj lub od początku i uczyć się w swoim tempie. To lekcja 2 z 4.
Ile czasu zajmuje lekcja „Zapis i stylizowanie komórek”?
Większość lekcji CoddyKit trwa około 5–10 minut. Każda lekcja to mały, interaktywny krok, dzięki czemu robisz systematyczne postępy i zawsze wracasz dokładnie do tego samego miejsca — na webie i w aplikacji.
Czy mogę pisać i uruchamiać kod w tej lekcji Python Academy?
Tak. Każda lekcja Python Academy zawiera wbudowany edytor kodu, więc piszesz i uruchamiasz prawdziwy kod bezpośrednio w przeglądarce i od razu otrzymujesz sprzężenie zwrotne od AI — bez konfiguracji na komputerze.
Wszystkie lekcje w tym kursie
- Odczytywanie skoroszytów
- Zapis i stylizowanie komórek
- Formuły i wykresy
- Przetwarzanie raportów wsadowych