Slik importerer Excel Into MySQL PHP

En kommadelte (CSV) er en tekstfil som organiserer flere kolonner eller felt av data ved å skille dem med komma. Det er vanlig å eksportere regneark, slik som de fra Excel, i CSV format for bruk i andre plattformer. Hvis du ønsker å importere Excel-filer i en MySQL database, kan du bruke PHP til å behandle CSV og sende innholdet til MySQL database. Dette er en to trinns prosess. Det første trinnet innebærer analyse av CSV med PHP. Det andre trinnet er å bruke PHP til å kommunisere med MySQL.

Bruksanvisning

1 Eksportere CSV-fil fra Excel og plassere den på serveren som kjører PHP og MySQL. I Excel, åpne "File" -menyen, klikk "Lagre som" og deretter "type" og "CSV". Gi den nye CSV-filen navnet du ønsker, og når Excel advarer om at du vil miste formatering, gå videre og aksepterer denne advarselen. Du mottar denne advarselen fordi noen tekstformatering, som fet, kursiv eller farger, kan ikke lagres i en tekstfil.

2 Lag en PHP variabel og sett den til filbanen for CSV-filen på serveren. Bruk "fopen" PHP-funksjonen som en del av den variable erklæringen slik at det vil identifisere hvilken fil du vil åpne. Dette kan se ut:

$ fil = fopen ( "myfile.csv", "r");

Den "r" angir at du åpner filen for lesing bare.

3 Bygg en "mens" loop som vil iterere gjennom filen linje for linje og lese hver linje inn i en ny variabel. Bruk standard PHP-funksjoner "mens" og "feof" for å behandle disse linjene, og bruk "fgetcsv" for å analysere CSV-filen identifisert med "fopen" variable. Denne sløyfen kan se eller begynne som dette:

while (! feof ($ file)) {

$ Csv_line = fgetcsv ($ fil, 1024)

Legg merke til nummer 1024, som er inkludert i "fgetcsv" -funksjon. Dette forteller serveren hvor mye data du kan forvente på en gitt linje, i tegn. Dette nummeret må være større enn din lengste linjen i CSV-filen.

4 Legg en MySQL spørring til "mens" loop, ved hjelp av den innebygde PHP funksjoner for database manipulasjon. For eksempel kan du bruke "mysql_query" funksjon i kombinasjon med "SETT" -funksjonen MySQL for å importere CSV linje direkte i en tabell. Den "mens" loop kan fortsette som dette:

mysql_query ( "INSERT INTO tabellnavn (COLUMN1, COLUMN2) VALUES ($ csv_line [0], $ csv_line [1])";

}

fclose ($ file);

Her behandler vi linjen fra CSV-filen som tabellen som det er, ved hjelp av passende gruppeindekser som "[0]", og deretter avslutter "mens" loop med den avsluttende curly brace. Til slutt avslutter vi "$ file" variabel som vi tidligere har åpnet i begynnelsen av programmet.

Denne "mens" loop har dermed fullført prosessen med analyse CSV i PHP og deretter sende den til databasen med en MySQL spørring.

Hint

  • Ikke glem å opprette en tilkobling til MySQL-databasen før du prøver å skrive til den. Bruk den metoden som fungerer best for din server for å åpne denne sammenheng.