我在PHP代码中插入查询和逻辑?

时间:2017-06-19 09:12:34

标签: php mysql

我轻松导入了整个excel文件数据,但是当我尝试首先读取excel文件数据并且仅导入我已应用的条件时。

实施例

表格下面是excel文件数据。我尝试只导入我有一个选择日期。如果我选择日期2017-06-03。此日期数据仅插入数据库,其他数据未插入。

没有EnNo INOUT DateTime 1 12 S 2017-06-02 08:35:00 2 28 S 2017-06-02 10:10:00 3 28 E 2017-06-02 13:00:00 4 12 E 2017-06-02 14:02:00 5 12 S 2017-06-02 15:02:00 6 12 E 2017-06-02 19:15:00 7 12 S 2017-06-03 09:45:00 8 12 E 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>'; 
    }   

}
?>

1 个答案:

答案 0 :(得分:0)

  • PhpExcelReader是一个免费的PHP类,可用于在没有Microsoft Office的情况下读取Excel文件数据。它支持XLS和XLSX类型。

•下载PhpExcelReader。

此类对于中小型Excel文件大小(几MB)非常有用,因为它一次读取整个电子表格,如果您有大型电子表格,则内存耗尽。在这种情况下,最好以CSV格式转换excel数据,然后在PHP中使用它。

  • 一个较新的PHP库,用于在php中处理Excel文档,它是这个页面: http://coursesweb.net/php-mysql/phpspreadsheet-read-write-excel-libreoffice-files
  • 它可以在php中读写excel文件,也可以创建PDF文档和图表。 PhpExcelReader类将excel文件数据存储到$ sheets属性中的多维数组中,使用以下命令访问: $ objectClass-&GT;片
  • $ objectClass是该类的对象实例。

例如,这个excel表: Excel表格

要使用PhpExcelReader类读取此excel文件,请使用以下代码:

  • 在包含PhpExcelReader类的存档中,您将找到用于测试的“test.xls”文件,以及两个示例,以及包含代码详细信息的注释。 •此类是Spreadsheet_Excel_Reader类的PHP 5.3+版本,来自:PHP-ExcelReader网站。