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

🔒 Jak wdrożyć HTTPS w Apache za pomocą mkcert – prosta i bezpieczna konfiguracja SSL

Bezpieczeństwo połączenia HTTPS to dziś standard — nawet w sieciach lokalnych i aplikacjach testowych. W tym poradniku pokażę Ci, jak w prosty sposób wdrożyć SSL w Apache z pomocą narzędzia mkcert , które tworzy w pełni zaufane certyfikaty lokalne — bez potrzeby kontaktu z Let’s Encrypt czy urzędami certyfikacji. 🧩 Dlaczego warto używać mkcert? mkcert to lekkie narzędzie, które automatycznie generuje certyfikaty zaufane przez przeglądarkę — bez ostrzeżeń o „niebezpiecznym połączeniu”. ✅ działa w sieci lokalnej, ✅ nie wymaga dostępu do Internetu, ✅ certyfikaty są natychmiast zaufane po instalacji CA, ✅ idealne dla środowisk firmowych i intranetów. ⚙️ Krok 1: Instalacja Apache sudo apt update sudo apt install apache2 -y sudo systemctl enable apache2 sudo systemctl start apache2 Po instalacji otwórz w przeglądarce: http://10.0.0.123 Powinna się wyświetlić strona powitalna Apache. 🔧 Krok 2: Instalacja mkcert sudo apt install libnss3-tools wget...

API SHOPER

Jak korzystać z API Shoper - Kompletny przewodnik 1. Wprowadzenie API Shoper umożliwia zautomatyzowanie wielu operacji w Twoim sklepie internetowym, takich jak zarządzanie produktami, zdjęciami, zamówieniami i wieloma innymi elementami. W tym artykule pokażę Ci krok po kroku, jak połączyć się z API Shoper oraz wykonać podstawowe operacje, takie jak dodawanie produktów, zarządzanie zdjęciami i przypisywanie produktów powiązanych. 2. Autoryzacja - Uzyskanie Access Token Aby korzystać z API Shoper, najpierw musisz uzyskać access token : POST https://twojsklep.shoper.pl/webapi/oauth/token Content-Type: application/x-www-form-urlencoded grant_type=client_credentials&client_id=TWOJE_CLIENT_ID&client_secret=TWOJE_CLIENT_SECRET Przykład w PHP: <?php $client_id = 'TWOJE_CLIENT_ID'; $client_secret = 'TWOJE_CLIENT_SECRET'; $ch = curl_init('https://twojsklep.shoper.pl/webapi/oauth/token'); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); curl_setopt($ch...

Najbardziej przydatne komendy PowerShell dla admina

Administracja lokalną domeną oraz Microsoft 365 Business Standard wymaga efektywnego zarządzania użytkownikami, komputerami, bezpieczeństwem i integracją z chmurą. Oto zestaw kluczowych komend PowerShell, które pomogą w codziennej pracy administratora IT. 🔹 1. Zarządzanie użytkownikami w Active Directory Lista użytkowników w domenie: Get-ADUser -Filter * Dodanie nowego użytkownika: New-ADUser -Name "Jan Kowalski" -UserPrincipalName jan.kowalski@firma.local -AccountPassword (ConvertTo-SecureString "Hasło123!" -AsPlainText -Force) -Enabled $true Resetowanie hasła użytkownika: Set-ADAccountPassword -Identity jan.kowalski -NewPassword (ConvertTo-SecureString "NoweHasło!" -AsPlainText -Force) Dodanie użytkownika do grupy: Add-ADGroupMember -Identity "IT_Admins" -Members jan.kowalski 🔹 2. Zarządzanie komputerami w domenie Lista komputerów w domenie: Get-ADComputer -Filter * Dodanie nowego komputera do domen...