Kalendarz z arkuszaTworzenie i dostosowywanie

Skrypt Google Apps Script, który zamienia wiersze Twojego Arkusza Google na wydarzenia w Kalendarzu Google i utrzymuje je w zgodzie

Zwykle gotowe w ok. 15 minutPoprawki w cenieKontrola jakości
Pakiety
Ochrona płatnościSzczegóły
  • Poprawki w ramach pakietu są bezpłatne.
  • Jeśli nie odpowiesz w ciągu 3 dni od dostarczenia pracy, zostanie ona zaakceptowana automatycznie.

Pieniądze są rezerwowane w chwili płatności i przekazywane dopiero po akceptacji pracy.

Skrypt Google Apps Script, który zamienia wiersze Twojego Arkusza Google na wydarzenia w Kalendarzu Google i utrzymuje je w zgodzie

Przykładowy rezultat

Przykład dla pakietu Standard

Łączenie miesięcznych plików sprzedaży 9 sklepów w jeden raport w Excelu

Jak się go uruchamia

python merge_sales.py --month 2026-10
2026-11-02 09:14:03 INFO  Folder: sales/2026-10, znaleziono 9 plików
2026-11-02 09:14:03 INFO  shop-01.csv: 1284 wiersze
2026-11-02 09:14:04 INFO  shop-02.xlsx: 967 wierszy
2026-11-02 09:14:04 WARN  shop-07.csv: pominięto 3 wiersze bez ceny (linie 88, 412, 913)
2026-11-02 09:14:05 INFO  Gotowe: 10 412 wierszy -> report-2026-10.xlsx (arkusze „Sprzedaż” i „Podsumowanie”)

Ustawienia zamiast kodu

Nazwy kolumn każdego sklepu są zapisane w settings.ini, więc nowy sklep albo kolumna o zmienionej nazwie to po prostu jeden wiersz w tym pliku:

[columns]
date = Data, Data sprzedaży, Dzień
product = Produkt, Towar, Nazwa
quantity = Ilość, Szt., Liczba sztuk
price = Cena, Cena jedn.

Fragment kodu

def read_shop_file(path: Path, columns: dict[str, list[str]]) -> pd.DataFrame:
    """Wczytuje plik jednego sklepu i nadaje mu nazwy kolumn raportu."""
    table = pd.read_excel(path) if path.suffix == ".xlsx" else pd.read_csv(path, encoding="utf-8-sig")
    renamed = {}
    for name, variants in columns.items():
        found = next((c for c in table.columns if c.strip() in variants), None)
        if found is None:
            raise ReportError(f"{path.name}: brak kolumny dla '{name}' (szukano: {', '.join(variants)})")
        renamed[found] = name
    table = table.rename(columns=renamed)[list(columns)]
    table["shop"] = path.stem
    return table

Pliki: archiwum ZIP z plikami merge_sales.py (310 wierszy), settings.ini, requirements.txt oraz README, które opisuje instalację Pythona, uruchomienie skryptu i znaczenie każdego komunikatu w dzienniku. Klient uruchamia skrypt na własnym komputerze.

Klient: mała sieć 9 sklepów papierniczych; każdy sklep przesyła sprzedaż za miesiąc w pliku CSV lub Excel, z nieco innymi nazwami kolumn. Zadanie: jeden skrypt, który wczytuje każdy plik z folderu, sprowadza kolumny do jednego układu i zapisuje jeden raport w Excelu z całą sprzedażą oraz arkuszem podsumowań według sklepów.

Klient i wszystkie dane są wymyślone.

O usłudze

Plany lekcji, grafiki zmian, okna dostaw czy program wydarzenia często są prowadzone w Arkuszu Google, a przepisywanie ich po kolei do Kalendarza Google jest powolne i łatwo o błąd. Ten skrypt Google Apps Script odczytuje Twoje wiersze i tworzy dla każdego z nich wydarzenie w wybranym kalendarzu: tytuł, początek i koniec, miejsce i opis z Twoich kolumn. Zapisuje w wierszu identyfikator wydarzenia, więc gdy zmienisz godzinę i uruchomisz go ponownie, wydarzenie się przesunie, zamiast się zdublować. W pakiecie Premium może rozdzielać wydarzenia między kilka kalendarzy, na przykład po jednym na nauczyciela lub salę. Goście dostają zaproszenia tylko wtedy, gdy to włączysz. Wydarzenia trafiają na Twoje własne konto Google, na którym instalujesz i uruchamiasz skrypt; nie sprawdza on kolizji i niczego nie rezerwuje dla innych.

Co obejmuje usługa

  • Co otrzymaszArchiwum ZIP z kodem Apps Script i plikiem README, który pokazuje, jak dodać go do arkusza, wybrać kalendarz i uruchomić; kod widać też na stronie zamówienia.
  • Twoje kolumnyTytuł, data, początek, koniec, miejsce i opis
  • Bez dubliIdentyfikator wydarzenia w wierszu wiąże go z wydarzeniem
  • Twoja strefa czasowaGodziny odczytywane w ustawionej strefie czasowej
  • Zaproszenia tylko na życzenieGoście są zapraszani tylko wtedy, gdy ta opcja jest włączona
  • Czytelny kodZ komentarzami, łatwo później dodać kolumnę

Jak to działa

  1. 1
    ZadaniePrzysyłasz kolumny arkusza i wskazujesz kalendarz
  2. 2
    KodPiszemy skrypt i instrukcję instalacji
  3. 3
    WypróbujUruchamiasz go na kopii arkusza z kalendarzem testowym
  4. 4
    ZmianyZgłaszasz poprawki w ramach pakietu i przesyłasz ewentualny komunikat o błędzie

Czego potrzebujemy od Ciebie

Nazwy kolumn Twojego arkusza i kilka wierszy (zmyślone imiona są w porządku), sposób zapisu dat i godzin, Twoja strefa czasowa i kalendarz, do którego mają trafiać wydarzenia (albo, w pakiecie Premium, kolumna, która wybiera kalendarz). Co ma się dziać, gdy wiersz się zmieni lub zostanie usunięty, i czy goście z danej kolumny mają dostawać zaproszenia. Mniej więcej ile jest wierszy i jak często arkusz się zmienia.

Zapytamy Cię:

  • Co jest w arkuszu?
  • Do którego kalendarza mają trafiać wydarzenia?
  • Co ma się dziać, gdy wiersze się zmieniają?
  • Czy zapraszać gości?

Porównaj pakiety

PakietyPodstawowyWiersze na wydarzenia61 złStandardWydarzenia z ustawieniami125 złPremiumNarzędzie do kalendarza252 zł
Termin1 dzień2 dni3 dni
Poprawki123
Koddo 150 wierszydo 400 wierszydo 1000 wierszy
Pliki z kodem1do 3do 8
Plik ustawieńNieTakTak
Czytelne komunikaty o błędach i logNieTakTak
Opcje uruchamiania i instrukcja uruchamiania według harmonogramuNieNieTak
Instrukcja instalacji i uruchomienia (README)TakTakTak
JęzykGoogle Apps ScriptGoogle Apps ScriptGoogle Apps Script
Zamów PodstawowyZamów StandardZamów Premium

Ochrona płatności

Płacisz przy składaniu zamówienia, ale pieniądze są przekazywane tylko za zaakceptowaną pracę.

  • Stała cenaCena pakietu nie zmienia się po zapłacie.
  • Pieniądze są zarezerwowanePrzy płatności kwota jest tylko rezerwowana. Serwis otrzymuje ją dopiero po akceptacji pracy.
  • Sprawdzone przed dostarczeniemKażdy wynik przechodzi kontrolę jakości, zanim do Ciebie trafi, a przed akceptacją widzisz go na stronie zamówienia.
  • Bezpłatne poprawkiProś o poprawki w ramach briefu tyle razy, ile przewiduje pakiet.
  • Akceptacja po 3 dniachJeśli w ciągu 3 dni od dostarczenia pracy ani jej nie zaakceptujesz, ani nie poprosisz o poprawki, zostanie zaakceptowana automatycznie. Jeśli po dostarczeniu napiszesz na czacie zamówienia, zamówienie czeka; po naszej odpowiedzi możemy ponownie uruchomić odliczanie 3 dni i poinformujemy o tym na czacie.
  • Ponowne wykonanie lub pełny zwrot pieniędzyJeśli wynik nie odpowiada Twojemu briefowi, a poprawki tego nie naprawiły, lub praca trwa ponad dwa razy dłużej niż termin, napisz na czacie zamówienia: wykonamy pracę ponownie albo zwrócimy całą płatność.
Jak to działa →

Pytania i odpowiedzi

A jeśli zmienię wiersz po utworzeniu wydarzenia?

Od pakietu Standard skrypt znajduje wydarzenie po identyfikatorze zapisanym w wierszu i je aktualizuje. W pakiecie Podstawowym wiersze, które mają już wydarzenie, są pomijane, więc zmieniasz wydarzenie w kalendarzu sam.

Czy będzie usuwać wydarzenia?

Tylko w pakiecie Premium i tylko według podanej przez Ciebie zasady, na przykład usuwając wydarzenie, gdy wiersz zostanie oznaczony jako Odwołane. Wydarzeń, których nie utworzył, nigdy nie rusza.

Czy może dodawać wydarzenia do kalendarzy moich współpracowników?

Do kalendarzy, które możesz edytować, na przykład udostępnionych, tak. W przeciwnym razie możesz zaprosić ich jako gości z kolumny, jeśli włączysz zaproszenia.

Czy dostajecie dostęp do mojego kalendarza?

Nie. Dodajesz skrypt do własnego arkusza i sam przyznajesz mu dostęp. Nigdy nie logujemy się na Twoje konto Google.

Nie ma tu odpowiedzi?

Pakiety