Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/245.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在php中使用PHPSpredsheet将Excel工作表导入mysql_Php_Mysql_Excel_Import_Phpspreadsheet - Fatal编程技术网

如何在php中使用PHPSpredsheet将Excel工作表导入mysql

如何在php中使用PHPSpredsheet将Excel工作表导入mysql,php,mysql,excel,import,phpspreadsheet,Php,Mysql,Excel,Import,Phpspreadsheet,在pc上安装composer.exe,在项目的命令提示符下安装phpspreadsheet,复制index.php代码,导入.php代码并粘贴到项目上 安装PHPSReadSheet composer require phpoffice/phpspreadsheet --prefer-source composer require phpoffice/phpspreadsheet --prefer-source 安装PHPSReadSheet composer require phpoffi

在pc上安装composer.exe,在项目的命令提示符下安装phpspreadsheet,复制index.php代码,导入.php代码并粘贴到项目上

安装PHPSReadSheet

composer require phpoffice/phpspreadsheet --prefer-source
composer require phpoffice/phpspreadsheet --prefer-source
安装PHPSReadSheet

composer require phpoffice/phpspreadsheet --prefer-source
composer require phpoffice/phpspreadsheet --prefer-source
index.php

<!DOCTYPE html>
<html>
   <head>
     <title>Import Data From Excel or CSV File to Mysql using PHPSpreadsheet</title>
     <meta name="viewport" content="width=device-width, initial-scale=1.0">
     <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/css/bootstrap.min.css" />
   </head>
   <body>
     <div class="container">
      <br />
      <h3 align="center">Import Data From Excel or CSV File to Mysql using PHPSpreadsheet</h3>
      <br />
        <div class="panel panel-default">
          <div class="panel-heading">Import Data From Excel or CSV File to Mysql using PHPSpreadsheet</div>
          <div class="panel-body">
          <div class="table-responsive">
           <span id="message"></span>
              <form method="post" id="import_excel_form" enctype="multipart/form-data">
                <table class="table">
                  <tr>
                    <td width="25%" align="right">Select Excel File</td>
                    <td width="50%"><input type="file" name="import_excel" /></td>
                    <td width="25%"><input type="submit" name="import" id="import" class="btn btn-primary" value="Import" /></td>
                  </tr>
                </table>
              </form>
           <br />
              
          </div>
          </div>
        </div>
     </div>
     <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.2.0/jquery.min.js"></script>
  </body>
</html>
<script>
$(document).ready(function(){
  $('#import_excel_form').on('submit', function(event){
    event.preventDefault();
    $.ajax({
      url:"import.php",
      method:"POST",
      data:new FormData(this),
      contentType:false,
      cache:false,
      processData:false,
      beforeSend:function(){
        $('#import').attr('disabled', 'disabled');
        $('#import').val('Importing...');
      },
      success:function(data)
      {
        $('#message').html(data);
        $('#import_excel_form')[0].reset();
        $('#import').attr('disabled', false);
        $('#import').val('Import');
      }
    })
  });
});
</script>
include 'vendor/autoload.php';

$connect = mysqli_connect('localhost','root','','excel_import_db';

if($_FILES["import_excel"]["name"] != '')
{
 $allowed_extension = array('xls', 'csv', 'xlsx');
 $file_array = explode(".", $_FILES["import_excel"]["name"]);
 $file_extension = end($file_array);

 if(in_array($file_extension, $allowed_extension))
 {
  $file_name = time() . '.' . $file_extension;
  move_uploaded_file($_FILES['import_excel']['tmp_name'], $file_name);
  $file_type = \PhpOffice\PhpSpreadsheet\IOFactory::identify($file_name);
  $reader = \PhpOffice\PhpSpreadsheet\IOFactory::createReader($file_type);

  $spreadsheet = $reader->load($file_name);
  unlink($file_name);

  $data = $spreadsheet->getActiveSheet()->toArray();

  foreach($data as $row)
  {

   $query = "
   INSERT INTO sample_datas 
   (`first_name`, `last_name`, `created_at`, `updated_at`) 
   VALUES ('".$row[0]."', '".$row[1]."', '".$row[2]."', '".$row[3]."')
   ";
    $statement = mysqli_query($connect,$query);
  }
  $message = '<div class="alert alert-success">Data Imported Successfully</div>';

 }
 else
 {
  $message = '<div class="alert alert-danger">Only .xls .csv or .xlsx file allowed</div>';
 }
}
else
{
 $message = '<div class="alert alert-danger">Please Select File</div>';
}

echo $message;

使用PHPSReadSheet将数据从Excel或CSV文件导入Mysql

使用PHPSReadSheet将数据从Excel或CSV文件导入Mysql
使用PHPSReadSheet将数据从Excel或CSV文件导入Mysql 选择Excel文件
$(文档).ready(函数(){ $('import_excel_form')。在('submit',函数(事件){ event.preventDefault(); $.ajax({ url:“import.php”, 方法:“张贴”, 数据:新表单数据(本), contentType:false, cache:false, processData:false, beforeSend:function(){ $('#import').attr('disabled','disabled'); $('#import').val('导入…'); }, 成功:功能(数据) { $('#message').html(数据); $('#导入excel_表单')[0]。重置(); $('#import').attr('disabled',false); $('导入').val('导入'); } }) }); });
import.php

<!DOCTYPE html>
<html>
   <head>
     <title>Import Data From Excel or CSV File to Mysql using PHPSpreadsheet</title>
     <meta name="viewport" content="width=device-width, initial-scale=1.0">
     <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/css/bootstrap.min.css" />
   </head>
   <body>
     <div class="container">
      <br />
      <h3 align="center">Import Data From Excel or CSV File to Mysql using PHPSpreadsheet</h3>
      <br />
        <div class="panel panel-default">
          <div class="panel-heading">Import Data From Excel or CSV File to Mysql using PHPSpreadsheet</div>
          <div class="panel-body">
          <div class="table-responsive">
           <span id="message"></span>
              <form method="post" id="import_excel_form" enctype="multipart/form-data">
                <table class="table">
                  <tr>
                    <td width="25%" align="right">Select Excel File</td>
                    <td width="50%"><input type="file" name="import_excel" /></td>
                    <td width="25%"><input type="submit" name="import" id="import" class="btn btn-primary" value="Import" /></td>
                  </tr>
                </table>
              </form>
           <br />
              
          </div>
          </div>
        </div>
     </div>
     <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.2.0/jquery.min.js"></script>
  </body>
</html>
<script>
$(document).ready(function(){
  $('#import_excel_form').on('submit', function(event){
    event.preventDefault();
    $.ajax({
      url:"import.php",
      method:"POST",
      data:new FormData(this),
      contentType:false,
      cache:false,
      processData:false,
      beforeSend:function(){
        $('#import').attr('disabled', 'disabled');
        $('#import').val('Importing...');
      },
      success:function(data)
      {
        $('#message').html(data);
        $('#import_excel_form')[0].reset();
        $('#import').attr('disabled', false);
        $('#import').val('Import');
      }
    })
  });
});
</script>
include 'vendor/autoload.php';

$connect = mysqli_connect('localhost','root','','excel_import_db';

if($_FILES["import_excel"]["name"] != '')
{
 $allowed_extension = array('xls', 'csv', 'xlsx');
 $file_array = explode(".", $_FILES["import_excel"]["name"]);
 $file_extension = end($file_array);

 if(in_array($file_extension, $allowed_extension))
 {
  $file_name = time() . '.' . $file_extension;
  move_uploaded_file($_FILES['import_excel']['tmp_name'], $file_name);
  $file_type = \PhpOffice\PhpSpreadsheet\IOFactory::identify($file_name);
  $reader = \PhpOffice\PhpSpreadsheet\IOFactory::createReader($file_type);

  $spreadsheet = $reader->load($file_name);
  unlink($file_name);

  $data = $spreadsheet->getActiveSheet()->toArray();

  foreach($data as $row)
  {

   $query = "
   INSERT INTO sample_datas 
   (`first_name`, `last_name`, `created_at`, `updated_at`) 
   VALUES ('".$row[0]."', '".$row[1]."', '".$row[2]."', '".$row[3]."')
   ";
    $statement = mysqli_query($connect,$query);
  }
  $message = '<div class="alert alert-success">Data Imported Successfully</div>';

 }
 else
 {
  $message = '<div class="alert alert-danger">Only .xls .csv or .xlsx file allowed</div>';
 }
}
else
{
 $message = '<div class="alert alert-danger">Please Select File</div>';
}

echo $message;
包括“vendor/autoload.php”;
$connect=mysqli\u connect('localhost','root','','excel\u import\u db';
如果($_文件[“导入\u excel”][“名称”]!=”)
{
$allowed_extension=数组('xls','csv','xlsx');
$file\u array=explode(“.”,$\u FILES[“import\u excel”][“name”]);
$file\u extension=end($file\u数组);
if(在数组中($file\u扩展名,$allowed\u扩展名))
{
$file\u name=time()...$file\u扩展名;
移动上传的文件($文件['import\u excel']['tmp\u name'],$file\u name);
$file\u type=\PhpOffice\PhpSpreadsheet\IOFactory::identify($file\u name);
$reader=\PhpOffice\PhpSpreadsheet\IOFactory::createReader($file\u type);
$spreadsheet=$reader->load($file\u name);
取消链接($file\u name);
$data=$spreadsheet->getActiveSheet()->toArray();
foreach($行数据)
{
$query=”
插入到样本数据中
(`first_name`、`last_name`、`created_at`、`updated_at`)
值(“%$row[0]”、“%$row[1]”、“%$row[2]”、“%$row[3]”)
";
$statement=mysqli_query($connect,$query);
}
$message='Data Imported Successfully';
}
其他的
{
$message='只允许.xls.csv或.xlsx文件';
}
}
其他的
{
$message='请选择文件';
}
回声$信息;