Eksporter MySQL -data til Excel i PHP

Eksporter MySQL -data til Excel i PHP

Noen ganger kan det hende du må eksportere til Excel -format fra MySQL for å bruke lokalt. Databasen eller tabellene til MySQL -databasen kan eksporteres til forskjellige filformater, for eksempel CSV, XML, SQL, Excel, etc., Ved å bruke PHP -klienten, phpmyadmin. Det er også mulig å eksportere MySQL -data ved hjelp av PHP -skript i stedet for å eksportere dataene manuelt. Når en webapplikasjon krever at data skal lagres i Excel -format fra MySQL -databasen, er det best å bruke PHP -skriptet til å utføre denne oppgaven. Denne opplæringen viser deg hvordan du eksporterer MySQL -data ved hjelp av PHP -skript.

Forutsetninger

Fullfør følgende oppgaver før du eksporterer MySQL -data. Du må åpne MySQL -klienten i terminalen eller phpmyAdmin -klienten i nettleseren for å utføre følgende oppgaver. En tabell med fem poster vil bli opprettet i en database etter å ha utført følgende SQL -kommandoer.

EN. Opprett en MySQL -database

Kjør følgende SQL -kommando for å opprette en database som heter selskapet.

Opprette database 'Company';

B. Lag et bord

Kjør følgende SQL -kommando for å opprette en tabell som heter elementer.

Lag tabell 'elementer' (
'id' int (11) Auto_increment primærnøkkel,
'navn' varchar (100) ikke null,
'type' varchar (20) ikke null,
'merkevare' varchar (50) ikke null,
'pris' dobbelt (5,2) ikke null
) Motor = innodb;

C. Sett inn data i tabellen

Sett inn 'elementer' ('navn', 'type', 'merke', 'pris') verdier
('Samsung A40S', 'Mobile', 'Sansung', 300.00),
('Samsung 4523 40' Inche ',' TV ',' Samsung ', 250.00),
('Walton stort kjøleskap', 'kjøleskap', 'Walton', 400.00),
('LG 15' Monitor ',' Monitor ',' LG ', 100.00),
('Dell Gaming Laptop', 'Laptop', 'Dell', 450.00);

Hvis du åpner varetabellen fra phpmyAdmin -klienten, vil innholdet i varetabellen se ut som følgende bilde.

Eksporter MySQL -data til Excel -fil

Her må du opprette en PHP -fil som heter Read_and_export.PHP for å lage følgende skript, som leser poster i varetabellen og oppretter en Excel -fil med innholdet i varetabellen. I skriptet er et databaseforbindelsesobjekt erklært å hente data fra databasetabellen. Deretter er en valgt spørring definert for å lese alle poster fra varetabellen som er lagret i en variabel som heter $ elementer. Denne variabelen brukes til å vise innholdet i tabellen i tabellform og lage en Excel -fil med tabellinnhold basert på brukerens handling. Når brukeren klikker på en knapp som senere vil bli opprettet av HTML -dokumentet for å eksportere tabelldata i Excel -format, vil ISSET () -funksjonen til dette skriptet returnere “True.”For å lage Excel -filen, er et filnavn definert med Extension XSL. Den nødvendige overskriftsinformasjonen sendes ved hjelp av header () -funksjonen. Deretter brukes $ Heading -variabelen til å angi overskriften til kolonnene i Excel -filen. Nøkkelverdiene for variabelen på $ elementer brukes som overskriftsverdiene. Deretter brukes Implode () -funksjonen til å skrive postene til varetabellen i Excel -filen.

read_and_export.PHP

spørring ($ spørring);
$ elementer = array ();
// Lagre bordplater til en matrise
mens ($ rad = $ resultat-> fetch_assoc ())
$ elementer [] = $ rad;

// Kontroller at eksportknappen trykkes eller ikke
if (isset ($ _ post ["eksport"]))
// definere filnavnet med gjeldende dato
$ filnavn = "itemData-".dato ('d-m-y')."".XLS ";
// Angi informasjon om overskrifter for å eksportere data i Excel -format
Header ('Content-Type: Application/VND.ms-excel ');
header ('innholds-disposisjon: vedlegg; filnavn ='.$ filnavn);
// Angi variabel til falsk for overskrift
$ heading = falsk;
// Legg til MySQL -tabelldataene til Excel -filen
hvis(!tom ($ elementer))
foreach ($ elementer som $ element)
hvis(!$ heading)
Echo Implode ("\ t", array_keys ($ element)) . "\ n";
$ heading = true;

Echo Implode ("\ T", Array_Values ​​($ item)) . "\ n";


exit();

?>

Opprett en annen PHP -fil som heter Index.PHP med følgende kode for å vise postene i varetabellen i nettleseren med knappen, eksporter til Excel. Her, read_and_export.PHP -fil er inkludert i begynnelsen av skriptet for å lage databasetilkoblingen, lese tabelldataene og opprette en Excel -fil med tabelldataene når brukeren trykker på knappen. Tabelldataene vises i tabellformat ved hjelp av bootstrap og jQuery.

indeks.PHP

// Legg til skript for å lese MySQL -data og eksportere til Excel
inkluderer ("read_and_export.php ");
?>



Eksporter MySQL -data til Excel ved hjelp av PHP

href = "https: // stackpath.bootstrapcdn.com/bootstrap/4.3.1/css/bootstrap.min.CSS ">
href = "https: // maxcdn.bootstrapcdn.com/bootstrap/3.3.7/CSS/Bootstrap-tema.min.CSS ">
src = "https: // ajax.Googleapis.com/ajax/libs/jQuery/3.5.1/jQuery.min.JS ">
src = "https: // stackpath.bootstrapcdn.com/bootstrap/4.3.1/js/bootstrap.min.JS ">





stil = "farge: grønn"> elementer tabellinformasjon