Przejdź do głównej zawartości

Google Sheets w PHP

Obsługa Google Sheets w PHP – Dodawanie, Usuwanie i Edycja Rekordów

Google Sheets API pozwala na interakcję z arkuszami kalkulacyjnymi bezpośrednio z poziomu PHP. W tym artykule pokażę, jak za pomocą PHP dodawać, edytować i usuwać rekordy w Google Sheets.

1️⃣ Konfiguracja Google API w PHP

Najpierw musimy zainstalować klienta Google API oraz uzyskać klucz JSON do autoryzacji.

composer require google/apiclient

Jeśli nie możesz użyć composer, musisz pobrać bibliotekę ręcznie z repozytorium Google API Client.

2️⃣ Podstawowe funkcje PHP do obsługi Google Sheets

Najpierw konfigurujemy połączenie z API:


require_once 'google-api-php-client/vendor/autoload.php';
use Google\Client;
use Google\Service\Sheets;

function getClient() {
    $client = new Client();
    $client->setAuthConfig('sciezka/do/twojego-pliku.json');
    $client->setScopes([Sheets::SPREADSHEETS]);
    return new Sheets($client);
}

📌 Pobieranie wszystkich rekordów


function getRecords() {
    global $spreadsheetId, $range;
    $service = getClient();
    $response = $service->spreadsheets_values->get($spreadsheetId, $range);
    return $response->getValues() ?: [];
}

📌 Pobieranie 10 ostatnich rekordów


function getLastTenRecords() {
    $records = getRecords();
    return array_slice($records, -10);
}

📌 Dodawanie nowego rekordu


function addRecord($data) {
    global $spreadsheetId, $range;
    $service = getClient();
    $body = new Google\Service\Sheets\ValueRange(['values' => [$data]]);
    $params = ['valueInputOption' => 'RAW'];
    
    $service->spreadsheets_values->append($spreadsheetId, $range, $body, $params);
    return "Rekord dodany!";
}

📌 Edycja rekordu


function editRecord($rowIndex, $data) {
    global $spreadsheetId;
    $range = "mycia!A{$rowIndex}:Z{$rowIndex}";
    $service = getClient();
    $body = new Google\Service\Sheets\ValueRange(['values' => [$data]]);
    $params = ['valueInputOption' => 'RAW'];
    
    $service->spreadsheets_values->update($spreadsheetId, $range, $body, $params);
    return "Rekord w wierszu {$rowIndex} zaktualizowany!";
}

📌 Usuwanie rekordu i przesuwanie wierszy


function deleteRecord($rowIndex) {
    global $spreadsheetId, $range;
    $service = getClient();

    $response = $service->spreadsheets_values->get($spreadsheetId, $range);
    $values = $response->getValues();

    if (empty($values) || $rowIndex <= 1 || $rowIndex > count($values)) {
        return "Nieprawidłowy numer wiersza lub pusty arkusz!";
    }

    array_splice($values, $rowIndex - 1, 1);

    if (empty($values)) {
        $values = [[]];
    }

    $body = new Google\Service\Sheets\ValueRange(['values' => $values]);
    $params = ['valueInputOption' => 'RAW'];
    $service->spreadsheets_values->update($spreadsheetId, $range, $body, $params);

    return "Rekord w wierszu {$rowIndex} usunięty i dane przesunięte w górę!";
}

🔧 Jak używać?

Aby dodać nowy rekord:

echo addRecord(["Jan", "Kowalski", "jan@example.com"]);

Aby edytować 2. wiersz:

echo editRecord(2, ["Anna", "Nowak", "anna@example.com"]);

Aby usunąć 3. wiersz:

echo deleteRecord(3);

Podsumowanie

Google Sheets API umożliwia dynamiczne zarządzanie arkuszami. Poprawiona funkcja deleteRecord() pozwala nie tylko usunąć wiersz, ale także przesunąć pozostałe dane w górę, eliminując puste wiersze.

Masz pytania? Daj znać w komentarzach! 🚀

Komentarze

Popularne posty z tego bloga

Generowanie certyfikatów Let's Encrypt w Windows

Jak wygenerować certyfikat Let's Encrypt w systemie Windows? Przewodnik krok po kroku Certyfikaty SSL/TLS są niezbędne do zabezpieczenia komunikacji między użytkownikami a serwerem. Let's Encrypt to darmowa, zaufana organizacja, która umożliwia generowanie certyfikatów SSL w prosty sposób. W tym wpisie pokażemy, jak wygenerować certyfikat Let's Encrypt w systemie Windows za pomocą narzędzia Certbot oraz jakie opcje i alternatywy są dostępne. Krok 1: Zainstaluj Python Certbot wymaga Pythona do działania. Jeśli nie masz go jeszcze zainstalowanego: Pobierz instalator Pythona ze strony python.org . Uruchom instalator i zaznacz opcję "Add Python to PATH" . Krok 2: Zainstaluj Certbot Otwórz wiersz polecenia (cmd) jako administrator. Zainstaluj Certbot za pomocą pip: pip install certbot Krok 3: Wygeneruj certyfikat ...

Polityka wykonawcza skryptów w PowerShellu

Polityka wykonawcza (Execution Policy) w PowerShell – co to jest i jak ją zmienić? PowerShell to potężne narzędzie do automatyzacji i zarządzania systemem Windows. Jednak domyślne ustawienia bezpieczeństwa mogą uniemożliwić uruchamianie skryptów. W tym wpisie wyjaśniam, czym jest polityka wykonawcza (Execution Policy), jak ją sprawdzić i zmienić, aby móc swobodnie korzystać z PowerShell. Czym jest polityka wykonawcza (Execution Policy)? Polityka wykonawcza to mechanizm bezpieczeństwa w PowerShell, który kontroluje, jakie skrypty mogą być uruchamiane na systemie. Ma ona na celu zapobieganie przypadkowemu lub złośliwemu uruchomieniu niebezpiecznych skryptów. Dostępne polityki wykonawcze PowerShell oferuje kilka poziomów polityki wykonawczej: Restricted – domyślna polityka. Blokuje wszystkie skrypty PowerShell. Można uruchamiać tylko polecenia wprowadzane bezpośrednio w konsoli. AllSigned – pozwala na uruchamianie tylko skryptów pod...

Kalendarz Google - PHP

Jak dodać wydarzenia do Kalendarza Google w PHP? Wprowadzenie Google Calendar API pozwala na automatyczne dodawanie wydarzeń do kalendarza Google za pomocą PHP. W tym artykule pokażemy dwa sposoby: Uwierzytelnienie użytkownika przez OAuth 2.0 Wykorzystanie konta usługi (Service Account) Metoda 1: OAuth 2.0 – Autoryzacja użytkownika 1. Utworzenie projektu w Google Cloud Console 1. Przejdź do Google Cloud Console . 2. Utwórz nowy projekt lub wybierz istniejący. 3. Włącz Google Calendar API w sekcji API & Services . 2. Konfiguracja danych uwierzytelniających 1. Utwórz dane uwierzytelniające: OAuth 2.0 Client ID . 2. Pobierz plik JSON zawierający klucz autoryzacyjny. 3. Instalacja Google Client Library w PHP composer require google/apiclient:^2.0 4. Autoryzacja użytkownika Tworzymy plik auth.php : <?php require 'vendor/autoload.php'; session_start(); $client = new Google_Client(); $client->setAuthConfig('credentials.json'); $clie...