2017-10-09 2 views
-2

Ich dachte, da ich die Daten von Excel in meine Datenbank importieren kann, ist es möglich, die Excel-Datei selbst hochzuladen und in der Lage, es in Ihrer Website anzuzeigen?Excel-Datei selbst in die Datenbank hochladen

+0

Ja, es ist möglich; kannst du deinen Code posten, den du ausprobiert hast? –

+0

Ich habe dieses noch nicht probiert, dasjenige, das ich versuchte, importierte die Daten. Ich bin derzeit auf der Suche nach Tutorials, wie man das macht. – keme

Antwort

0

Für Client-Webseite Seite, verwenden Sie HTML-Formular <input type="file">, Excel-Datei vom Browser in PHP-Datei hochladen.

Beispiel Upload-submit.html:

<form action="upload.php"> 
    <input type="file" name="excel-upload" /> 
    <input type="submit" /> 
</form> 

In Ihrem Skript PHP Upload Sie die PHPExcel Bibliothek (https://github.com/PHPOffice/PHPExcel) zu lesen und zu analysieren, um die hochgeladene Excel-Datei enthalten müssen. Sie können Mark Baker sehr gutes Beispiel dafür, wie aus Excel zu lesen, und legen Sie in eine Datenbank lesen: how to use phpexcel to read data and insert into database?

Beispiel upload.php:

// Include PHPExcel_IOFactory 
include 'PHPExcel/IOFactory.php'; 

// Move the uploaded file from temporary server directory into an 'uploads' directory 
$fileName = basename($_FILES["excel-upload"]["name"]); 
$uploadedExcelFullPath = __DIR__.'/uploads/'.$fileName; 
move_uploaded_file($_FILES['excel-upload']['tmp_name'],$uploadedExcelFullPath); 


// Read your Excel workbook 
try { 
    $inputFileType = PHPExcel_IOFactory::identify($uploadedExcelFullPath); 
    $objReader = PHPExcel_IOFactory::createReader($inputFileType); 
    $objPHPExcel = $objReader->load($uploadedExcelFullPath); 
} catch(Exception $e) { 
    die('Error loading file "'.pathinfo($uploadedExcelFullPath,PATHINFO_BASENAME).'": '.$e->getMessage()); 
} 

// Get worksheet dimensions 
$sheet = $objPHPExcel->getSheet(0); 
$highestRow = $sheet->getHighestRow(); 
$highestColumn = $sheet->getHighestColumn(); 

// Loop through each row of the worksheet in turn 
for ($row = 1; $row <= $highestRow; $row++){ 
    // Read a row of data into an array 
    $rowData = $sheet->rangeToArray('A' . $row . ':' . $highestColumn . $row, 
            NULL, 
            TRUE, 
            FALSE); 

    // Insert row data array into your database here 

    // You can also format data into HTML table row format and echo out here 
    var_dump($rowData); 
} 
+0

Ich werde versuchen, dieses – keme

+0

es funktioniert nicht und es ist eine lange, gibt es andere einfache und kurze Möglichkeit, es zu tun, ich meine, hochladen CSV-Datei iiself nicht Daten drin. Ich versuche, eine CSV-Datei in die Datenbank hochzuladen dann auf meiner Webseite anzuzeigen und herunterladbar zu machen. – keme

Verwandte Themen