私は簡単に全体のExcelファイルデータをインポートしましたが、私がファイルのデータを最初に読み込みしようとすると、インポートしたものだけが条件を適用しました。表の下ここで私はPHPコードでクエリとロジックを挿入しますか?
例
は私が選択した日付を持っているだけでインポートしようとExcelファイルdata.andです。私が日付2017-06-03を選択した場合。この日付のデータは、データベースに挿入された他のデータは挿入されません。
なしEnNo INOUT日時 1 12 S 2017年6月2日午前8時35分○○秒 2 28 S 2017年6月2日午前10時10分00秒 3 28 E 2017年6月2日13時00分○○秒 4 12電子2017-06-02 14:02:00 5 12 S201-06-06-02 15:02:00 6 12201-07-06-02 19:15:00 7 12201-07-06- 03 09:45:00 8 12 2017-06-03 14:15:00
しかし、どうすればわからないのですか?????
HTMLのCODE:
<form method="post" action="dataread.php" enctype="multipart/form-data">
<p>
<label for="import">Import your data into database:</label>
</p>
<p>
<input type="date" name="date" required/>
</p>
<input type="file" name="file" required/>
</p>
<p><input type="submit" name="submit" value="Submit"/></p>
</form>
PHPコード:
<?php
include("dbconnection.php");
/** Set default timezone (will throw a notice otherwise) */
date_default_timezone_set('Asia/Kolkata');
include 'PHPExcel\Classes\PHPExcel\IOFactory.php';
if(isset($_FILES['file']['name']))
{
$file_name = $_FILES['file']['name'];
$ext = pathinfo($file_name, PATHINFO_EXTENSION);
//Checking the file extension
if($ext == "xlsx")
{
$file_name = $_FILES['file']['tmp_name'];
$inputFileName = $file_name;
// Read your Excel workbook
try {
$inputFileType = PHPExcel_IOFactory::identify($inputFileName); //Identify the file
$objReader = PHPExcel_IOFactory::createReader($inputFileType); //Creating the reader
$objPHPExcel = $objReader->load($inputFileName); //Loading the file
} catch (Exception $e) {
die('Error loading file "' . pathinfo($inputFileName, PATHINFO_BASENAME)
. '": ' . $e->getMessage());
}
//Table used to display the contents of the file
echo '<center><table style="width:50%;" border=1>';
// Get worksheet dimensions
$sheet = $objPHPExcel->getSheet(0); //Selecting sheet 0
$highestRow = $sheet->getHighestRow(); //Getting number of rows
$highestColumn = $sheet->getHighestColumn(); //Getting number of columns
// Loop through each row of the worksheet in turn
for ($row = 1; $row <= 15; $row++)
{
// Read a row of data into an array
$rowData = $sheet->rangeToArray('A' . $row . ':' . $highestColumn . $row,
NULL, TRUE, FALSE);
// This line works as $sheet->rangeToArray('A1:E1') that is selecting all the cells in that row from cell A to highest column cell
echo "<tr>";
//echoing every cell in the selected row for simplicity. You can save the data in database too.
foreach($rowData[0] as $k=>$v)
echo "<td>".$v."</td>";
echo "</tr>";
}
echo '</table></center>';
}
else{
echo '<p style="color:red;">Please upload file with xlsx extension only</p>';
}
}
?>