巅云智能建站平台搭建版(创业流派版)火爆上线,毕生受权!新增:文章智能收罗+全站真静态打包+都会分站+智能小法式+不法词过滤+H5自顺应+智能链词等功效功效概况
赞助文档Help

PHP上传Excel文件导入数据到MySQL数据库示例

一佰互联网站建造(www.taishanly.com) 宣布日期 2020-04-26 09:03:49 阅读数: 279

比来在做Excel文件导入数据到数据库。网站若是想撑持批量拔出数据,能够建造一个上传Excel文件,导入外面的数据内容到MySQL数据库的小法式。

要用到的东西:

ThinkPHP:轻量级国产PHP开辟框架。可在ThinkPHP官网下载。

PHPExcel:Office Excel 文档的一个PHP类库,它基于微软的OpenXML规范和PHP说话。可在CodePlex官网下载。、

1.设想MySQL数据库product

成立product数据库

CREATE DATABASE product DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;

成立pro_info表,表规划

CREATE TABLE pro_info(
pId int(4) NOT NULL PRIMARY KEY AUTO_INCREMENT,
pName varchar(20) NOT NULL,
pPrice float NOT NULL,
pCount float NOT NULL
);

2.天生名目

先在ThinkPHP同级目次下新建index.php文件,天生名目Home.

<?php
 
define("APP_NAME", "Home");  //名目称号
define("APP_PATH", "./Home/"); //名目途径
define("APP_DEBUG", true);   //开启DEBUG
require "./ThinkPHP/ThinkPHP.php";  //引入ThinkPHP焦点运转文件
?>

3.上传文件表单

在Home/Tpl文件夹下新建Index文件夹,外面新建index.html文件

<!DOCTYPE html>
 
<html>
  <head>
    <title>上传文件</title>
    <meta charset="UTF-8">
  </head>
  <body>
    <form id="upload" action="__URL__/upload/" method="post" enctype="multipart/form-data">
      <label for="file">上传文件:</label>
      <input type="file" name="file" id="file"><br />
      <input type="submit" name="submit" value="上传" />
    </form>
  </body>
</html>

4.在/Home/Lib/Action/IndexAction.class.php中编写显现上传表单页面、上传Excel文件、导入Excel文件体例(若是ThinkPHP/Extend下不扩大包,须要在ThinkPHP官网下载,而后将扩大包解压放入)

<?php
 
/**
*
* 导入Excel文件数据到MySQL数据库
*/
class IndexAction extends Action {
 
  /**
   * 显现上传表单html页面
   */
  public function index() {
    $this->display();
  }
 
  /**
   * 上传Excel文件
   */
  public function upload() {
    //引入ThinkPHP上传文件类
    import("ORG.Net.UploadFile");
    //实例化上传类
    $upload = new UploadFile();
    //设置附件上传文件巨细200Kib
    $upload->mixSize = 2000000;
    //设置附件上传范例
    $upload->allowExts = array("xls", "xlsx", "csv");
    //设置附件上传目次在/Home/temp下
    $upload->savePath = "./Home/temp/";
    //坚持上传文件名稳定
    $upload->saveRule = "";
    //存在同名文件是不是是笼盖
    $upload->uploadWordStr = true;
    if (!$upload->upload()) {  //若是上传失利,提醒毛病信息
      $this->error($upload->getErrorMsg());
    } else {  //上传胜利
      //获得上传文件信息
      $info = $upload->getUploadFileInfo();
      //获得上传保管文件名
      $fileName = $info[0]["savename"];
      //重定向,把$fileName文件名传给importExcel()体例
      $this->redirect("Index/importExcel", array("fileName" => $fileName), 1, "上传胜利!");
    }
  }
 
  /**
   *
   * 导入Excel文件
   */
  public function importExcel() {
    header("content-type:text/html;charset=utf-8");
    //引入PHPExcel类
    vendor("PHPExcel");
    vendor("PHPExcel.IOFactory");
    vendor("PHPExcel.Reader.Excel5");
 
    //redirect传来的文件名
    $fileName = $_GET["fileName"];
 
    //文件途径
    $filePath = "./Home/temp/" . $fileName . ".xlsx";
    //实例化PHPExcel类
    $PHPExcel = new PHPExcel();
    //默许用excel2007读取excel,若格局错误,则用之前的版本停止读取
    $PHPReader = new PHPExcel_Reader_Excel2007();
    if (!$PHPReader->canRead($filePath)) {
      $PHPReader = new PHPExcel_Reader_Excel5();
      if (!$PHPReader->canRead($filePath)) {
        echo "no Excel";
        return;
      }
    }
 
    //读取Excel文件
    $PHPExcel = $PHPReader->load($filePath);
    //读取excel文件中的第一个任务表
    $sheet = $PHPExcel->getSheet(0);
    //获得最大的列号
    $allColumn = $sheet->getHighestColumn();
    //获得最大的行号
    $allRow = $sheet->getHighestRow();
    //从第二行起头拔出,第一行是列名
    for ($currentRow = 2; $currentRow <= $allRow; $currentRow++) {
      //获得B列的值
      $name = $PHPExcel->getActiveSheet()->getCell("B" . $currentRow)->getValue();
      //获得C列的值
      $price = $PHPExcel->getActiveSheet()->getCell("C" . $currentRow)->getValue();
      //获得D列的值
      $count = $PHPExcel->getActiveSheet()->getCell("D" . $currentRow)->getValue();
 
      $m = M("Info");
      $num = $m->add(array("pName" => $name, "pPrice" => $price, "pCount" => $count));
    }
    if ($num > 0) {
      echo "增加胜利!";
    } else {
      echo "增加失利!";
    }
  }
 
}
?>

5.测试

感激阅读,但愿能赞助到大师,感谢大师对本站的撑持!

一佰互联是天下着名建站品牌办事商,咱们有九年、网站建造、网页设想、php开辟和域名注册及假造主机办事经历,供给的办事更是天下着名。最近几年来还整合团队上风自立开辟了可视化多用户”“3.0平台版,拖拽排版网站建造设想,轻松完成pc站、手机微网站、小法式、APP一体化全网营销网站扶植 ,已胜利的为天下上百家收集公司供给自助建站平台搭建办事。

相干消息more

22
11月
老手建站教程及建网站步骤,建站流程

若何建本身的网站?若何成立一个网站?建网站的步骤 成立一个网站的体例有多种,经济宽点能够找网站公司代建,特点是能够按本身的设法和特定功效建造... >>概况

30
04月
利用PHP完成密保卡功效完成代码&l

结果图:密保卡入库 复制代码 代码以下: $this->load->model("admin/m_mibao"); $data ... >>概况

27
03月
GQ尝试室一年营收近两亿,成了中国最赢利的公

简介:对新媒体来讲,大趋向是公司化运作,规范化团队作战,和邃密化经营,终究目标是孵化出本身的IP,发生耐久的品牌影响力。刺猬公社 | 骆北内... >>概况

15
04月
高端网站扶植-“可托网站”考证撑持电子商务安

CNNIC查询拜访发明,仅2010年上半年,就有59.2%的网民在利用互联网进程中碰到过病毒或木马进犯;30.9%的网民账号或暗码被盗过;电子商... >>概况

高端网站扶植

美工统筹SEO,为企业电子商务营销助力!

德律风:

023-85725751
建站

产物

域名注册 假造主机 云办事器 企业邮局
智能建站 APP打包 微站/小法式 创业平台
网站推行 媒体营销 智能收罗 AI机械人
400德律风 短信营销 店销机械人
私家定制 流派网站