2017-10-09 9 views
-2

私はExcelから自分のデータベースにデータをインポートできるので、エクセルファイル自体をアップロードしてウェブサイトに表示することは可能でしょうか?Excelファイル自体をデータベースにアップロード

+0

をはい、それは可能です。あなたが試したコードを投稿できますか? –

+0

私はこれを試してみましたが、私が試みたのはデータをインポートすることでした。私は現在、これを行う方法に関するチュートリアルを探しています。 – keme

答えて

0

クライアントWebページの場合は、ブラウザからPHPファイルにexcelファイルをアップロードするには、htmlフォーム<input type="file">を使用してください。

例のアップロード-submit.html:

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

あなたのPHPのアップロードスクリプトでは、あなたが読んで、アップロードされたExcelファイルを解析するPHPExcelライブラリ(https://github.com/PHPOffice/PHPExcel)を含める必要があります。あなたは、Excelから読み取られ、データベースに挿入する方法については、マーク・ベイカーの非常に良い例を読むことができます:how to use phpexcel to read data and insert into database?

例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

私はこの1つを試みます – keme

+0

それは働いていません、それは長いものです、それを行うための他の簡単で短い方法があります、それはiSelfファイルをアップロードすることを意味します。私はcsvファイルをデータベースにアップロードしようとしていて、それを私のウェブページに表示してダウンロード可能にしています。 – keme

関連する問題