1. Produkty
  2.   Arkusz
  3.   PHP
  4.   Fast-Excel
 
  

Import i eksport plików Excel, CSV i ODS za pomocą darmowej biblioteki PHP

Open Source API PHP, które umożliwia programistom import i eksport plików MS Excel. Poznaj jego funkcje, korzyści i przykłady kodu, aby efektywnie obsługiwać duże zestawy danych.

Czym jest Fast-Excel?

Fast-Excel jest lekkim pakietem PHP zaprojektowanym w celu uproszczenia operacji importu/eksportu Excel i CSV w aplikacjach Laravel. Zbudowany na bazie OpenSpout, koncentruje się na szybkości, niskim zużyciu pamięci i przyjaznej dla programisty składni. W przeciwieństwie do cięższych bibliotek arkuszy kalkulacyjnych, Fast-Excel jest idealny dla projektów, które potrzebują prostego i wydajnego obsługiwania arkuszy bez zbędnej złożoności. Obsługuje eksport i import plików XLSX, CSV i ODS, przy jednocześnie zaskakująco niskim zużyciu pamięci.

Fast-Excel jest szczególnie przydatny dla programistów, którzy muszą przetwarzać duże pliki Excel, CSV lub ODS, nie napotykając ograniczeń pamięci. Tradycyjne biblioteki często wczytują całe zestawy danych do pamięci, ale Fast-Excel używa technik strumieniowania, aby efektywnie obsługiwać dane. Biblioteka jest szeroko stosowana do eksportowania rekordów bazy danych do arkuszy kalkulacyjnych, importowania danych użytkowników lub raportów, generowania dużych raportów dynamicznie, upraszczania obsługi Excela w aplikacjach Laravel i tak dalej. Dzięki czystemu API i minimalnej konfiguracji, Fast-Excel skraca czas rozwoju, jednocześnie poprawiając wydajność.

Previous Next

Rozpoczęcie pracy z Fast-Excel

Zalecanym sposobem instalacji Fast-Excel w Twoim projekcie jest użycie composera. Proszę użyć następującego polecenia, aby przeprowadzić płynną instalację

Zainstaluj Fast-Excel przez Composer

 composer require rap2hpoutre/fast-excel

Możesz również sklonować projekt przy użyciu Git uruchamiając

Eksport kolekcji do plików Excel przy użyciu PHP

Fast-Excel sprawia, że eksportowanie kolekcji lub modeli do Excela jest niezwykle proste. Dzięki kilku liniom kodu możesz generować pliki .xlsx, .csv lub .ods. Ta funkcja eliminuje kod szablonowy i przyspiesza rozwój, szczególnie w przypadku pulpitów nawigacyjnych lub systemów raportowania. Poniższy przykład pokazuje, jak wyeksportować dane do pliku MS Excel XLSX przy użyciu kodu PHP. Biblioteka konwertuje kolekcję Laravel bezpośrednio na plik Excel bez konieczności skomplikowanej konfiguracji.

Jak wyeksportować dane do pliku Excel XLSX za pomocą biblioteki PHP?

use Rap2hpoutre\FastExcel\FastExcel;
// Sample data
$list = collect([
    ['id' => 1, 'name' => 'Jane'],
    ['id' => 2, 'name' => 'John'],
]);
// Export to Excel
(new FastExcel($list))->export('users.xlsx');

Eksporty w partiach o niskim zużyciu pamięci przy użyciu generatorów

Biblioteka open source Fast-Excel zawiera wsparcie dla niskiego zużycia pamięci oraz prostą składnię do importowania i eksportowania danych. To flagowa funkcja obsługi \"big data\". Zamiast ładować 1 milion użytkowników do tablicy, używasz cursor() w Laravelu lub własnego generatora yield. Eksporter przetwarza każdy wiersz pojedynczo, zapisuje go do pliku i usuwa z pamięci. Dzięki temu zużycie pamięci pozostaje stałe (bardzo niskie), niezależnie od tego, czy eksportujesz 100 wierszy, czy 10 milionów wierszy.

Jak wyeksportować określone pola z niestandardowymi nagłówkami w aplikacjach PHP?

return (new FastExcel(User::all()))->export('formatted_users.xlsx', function ($user) {
    return [
        'Full Name' => $user->firstname . ' ' . $user->lastname,
        'Email Address' => $user->email,
        'Member Since' => $user->created_at->format('Y-m-d'),
        'Status' => $user->is_active ? 'Active' : 'Suspended'
    ];
});

Import danych bezpośrednio do bazy danych

Zamiast importować wiersze ręcznie, Fast-Excel może przetwarzać każdy wiersz i bezpośrednio wstawiać go do Twojej bazy danych. Jest to idealne rozwiązanie dla masowych przesyłek administracyjnych i ma wiele korzyści, takich jak masowe wstawianie do bazy danych, czystszy kod, mniejsze ręczne przetwarzanie, łatwe przepływy pracy administratora i tak dalej. Jest to szczególnie przydatne w systemach HR, CRM i platformach eCommerce. Oto przydatny przykład, który pokazuje, jak zaimportować dane do bazy danych w aplikacjach PHP.

Jak zaimportować dane bezpośrednio do bazy danych za pomocą biblioteki PHP?

use Rap2hpoutre\FastExcel\FastExcel;
use App\Models\User;

(new FastExcel)->import('users.xlsx', function ($line) {
    return User::create([
        'name' => $line['Name'],
        'email' => $line['Email'],
    ]);
});

Niestandardowe mapowanie kolumn i formatowanie przy użyciu PHP

Kolumny bazy danych nie zawsze są czytelne dla człowieka. Biblioteka Fast-Excel zawiera pełne wsparcie dla niestandardowego mapowania i formatowania kolumn lub wierszy. Ta funkcja pozwala dokładnie określić, które atrybuty eksportować i na bieżąco przekształcać ich wartości. Niezależnie od tego, czy potrzebujesz zamienić nazwisko na wielkie litery, połączyć imię i nazwisko, czy zmienić nazwę ‘user_id’ na ‘Identyfikator Pracownika’, zamknięcie daje pełną kontrolę nad ostateczną tablicą wynikową.

 Polski