日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > 数据库 >内容正文

数据库

php上传查询excel到mysql_PHP上传Excel文件导入数据到MySQL数据库示例

發布時間:2024/9/19 数据库 22 豆豆
生活随笔 收集整理的這篇文章主要介紹了 php上传查询excel到mysql_PHP上传Excel文件导入数据到MySQL数据库示例 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

PHP上傳Excel文件導入數據到MySQL數據庫示例2020-06-20 00:34:11

最近在做Excel文件導入數據到數據庫。網站如果想支持批量插入數據,可以制作一個上傳Excel文件,導入里面的數據內容到MySQL數據庫的小程序。

要用到的工具:

ThinkPHP:輕量級國產PHP開發框架??稍赥hinkPHP官網下載。

PHPExcel:Office Excel 文檔的一個PHP類庫,它基于微軟的OpenXML標準和PHP語言??稍贑odePlex官網下載。、

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文件

上傳文件

上傳文件:

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->uploadReplace = 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.測試

感謝閱讀,希望能幫助到大家,謝謝大家對本站的支持!

特別申明:本文內容來源網絡,版權歸原作者所有,如有侵權請立即與我們聯系(cy198701067573@163.com),我們將及時處理。

Tags 標簽

總結

以上是生活随笔為你收集整理的php上传查询excel到mysql_PHP上传Excel文件导入数据到MySQL数据库示例的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。