Export PHP data to .xls file

Export PHP data to .xls file

Dane to dowolny zestaw znaków, który jest tłumaczony w jakimś celu, na przykład do analizy. Może to być dowolny znak lub wartość, w tym tekst i liczby, obrazy, dźwięk lub wideo. Jeśli dane nie są umieszczone w kontekście, nie robią nic dla człowieka ani maszyny. Generalnie eksportujemy dane ze stron internetowych, aby zapisać je na komputerze do użytku offline, np. do przechowywania danych list i ich analizy. Excel to najlepszy format do eksportowania danych w pliku, ponieważ czytanie dużych plików w programie Excel jest znacznie łatwiejsze dla użytkownika. Możesz także użyć dodatkowych funkcji, takich jak wybieranie poszczególnych komórek do importowania danych, automatyczne konwertowanie dat i czasu, filtry, sortowanie, czytanie formuł i ich wyników itp.

Eksportuj dane PHP do pliku .xls
Na tym blogu dowiemy się, jak krok po kroku eksportować dane PHP do pliku .xls. Za pomocą prostego skryptu PHP możesz wyeksportować dane do Excela i pobrać je w pliku .xls.

KROK 1: Utwórz tablicę do przechowywania danych

Utworzyłem tablicę ($customers_data) do przechowywania danych klientów. Możesz stworzyć własną tablicę zgodnie z wymaganiami:

$customers_data = array( array( 'customers_id' => '1', 'customers_firstname' => 'Chris', 'customers_lastname' => 'Cavagin', 'customers_email' => 'chriscavagin@gmail.com', 'customers_telephone => '9911223388' ), array( 'customers_id' => '2', 'customers_firstname' => 'Richard', 'customers_lastname' => 'Simmons', 'customers_email' => 'rsimmons@media.com', ' customers_telephone' => '9911224455' ), array( 'customers_id' => '3', 'customers_firstname' => 'Steve', 'customers_lastname' => 'Beaven', 'customers_email' => 'ateavebeaven@gmail.com' , 'customers_telephone' => '8855223388' ), array( 'customers_id' => '4', 'customers_firstname' => 'Howard', 'customers_lastname' => 'Rawson', 'customers_email' => 'howardraw@gmail'. com', 'customers_telephone' => '9911334488' ), array( 'customers_id' => '5', 'customers_firstname' => 'Rachel', 'customers_lastname' => 'Dyson', 'customers_email' => 'racheldy gmail.com', 'customers_telephone' => '9912345388' ) );

KROK 2: Utwórz funkcję do filtrowania danych:

Ta funkcja służy do wykrywania podwójnych cudzysłowów i zmiany znaczenia każdej wartości, która je zawiera. Bez tego nieparzysta liczba cudzysłowów w ciągu może zmylić program Excel.

// Filtruj dane klienta function filterCustomerData(&$str) { $str = preg_replace("/\t/", "\\t", $str); $str = preg_replace("/\r?\n/", "\\n", $str); if(strstr($str, '"')) $str = ''"' . str_replace('"', '""', $str) '"'; }

KROK 3: Zdefiniuj nazwę pliku i nagłówek zawartości do pobrania:

$file_name�zmienna służy do przechowywania nazwy pliku, a także definiowania nagłówka treści do pobrania.

// Nazwa pliku i nagłówek zawartości do pobrania $file_name = "customers_data.xls"; header("Dyspozycja zawartości: załącznik; nazwa pliku=\"$nazwa_pliku\""); header("Typ treści: aplikacja/vnd.ms-excel");

KROK 4: Zdefiniuj pętlę przez każdy wiersz w� $customers_data

//Aby zdefiniować nazwę kolumny w pierwszym wierszu. $nazwy_kolumn = fałsz; // uruchom pętlę przez każdy wiersz w $customers_data foreach($customers_data as $row) { if(!$column_names) { echo implode("\t", array_keys($row)) . "\n"; $nazwy_kolumn = prawda; } // Funkcja array_walk() uruchamia każdy element tablicy w funkcji zdefiniowanej przez użytkownika. array_walk($wiersz, 'filterCustomerData'); echo implode("\t", array_values($row)) . "\n"; } Wyjście;

1. Zdefiniuj zmienną $column_names, która służy do drukowania nazwy kolumny w pierwszym wierszu programu Excel. 2. Uruchom pętlę przez każdy wiersz i użyj funkcji array_walk()�, aby uruchomić każdy wiersz w funkcji zdefiniowanej przez użytkownika.

KROK 5: Uruchom plik skryptu w swoim środowisku:

Jeśli wszystko pójdzie dobrze, nazwa pliku zostanie pobrana i zapisana na komputerze o nazwie „dane_klientów.xls”. Możesz otworzyć ten plik w programie Excel, który wygląda następująco:

Uruchom plik skryptu w swoim środowisku

Kliknij tutaj aby pobrać cały kod.

Leave a Reply

Your email address will not be published. Required fields are marked *