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

歡迎訪問 生活随笔!

生活随笔

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

数据库

exls导入数据库 php_PHP Excel导入数据到MySQL数据库

發布時間:2024/1/23 数据库 23 豆豆
生活随笔 收集整理的這篇文章主要介紹了 exls导入数据库 php_PHP Excel导入数据到MySQL数据库 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

數據導出已經有了,怎么能沒有數據導入呢,同樣使用TP5框架,首先需要下載

phpexcel.zip,放到第三方類庫目錄vendor目錄下,然后有一個頁面可以讓你選擇要導入的Excel文件,然后點擊導入按鈕調用接口:

我的模板內的數據如下圖:

后端接口代碼如下:

public function uplExcel(Request $request)

{

if (!empty($_FILES['excel']['name'])) {

$fileName = $_FILES['excel']['name']; //得到文件全名

$dotArray = explode('.', $fileName); //把文件名安.區分,拆分成數組

$type = end($dotArray);

if ($type != "xls" && $type != "xlsx") {

$ret['res'] = "0";

$ret['msg'] = "不是Excel文件,請重新上傳!";

return json_encode($ret);

}

//取數組最后一個元素,得到文件類型

$uploaddir = "../uploads2/" . date("Y-m-d") . '/';//設置文件保存目錄 注意包含

if (!file_exists($uploaddir)) {

mkdir($uploaddir, 0777, true);

}

$path = $uploaddir . md5(uniqid(rand())) . '.' . $type; //產生隨機文件名

//$path = "images/".$fileName; //客戶端上傳的文件名;

//下面必須是tmp_name 因為是從臨時文件夾中移動

move_uploaded_file($_FILES['excel']['tmp_name'], $path); //從服務器臨時文件拷貝到相應的文件夾下

$file_path = $path;

if (!file_exists($path)) {

$ret['res'] = "0";

$ret['msg'] = "上傳文件丟失!" . $_FILES['excel']['error'];

return json_encode($ret);

}

//文件的擴展名

$ext = strtolower(pathinfo($path, PATHINFO_EXTENSION));

if ($ext == 'xlsx') {

$objReader = \PHPExcel_IOFactory::createReader('Excel2007');

$objPHPExcel = $objReader->load($file_path, 'utf-8');

} elseif ($ext == 'xls') {

$objReader = \PHPExcel_IOFactory::createReader('Excel5');

$objPHPExcel = $objReader->load($file_path, 'utf-8');

}

$sheet = $objPHPExcel->getSheet(0);

$highestRow = $sheet->getHighestRow(); // 取得總行數

$highestColumn = $sheet->getHighestColumn(); // 取得總列數

$ar = array();

$i = 0;

$importRows = 0;

for ($j = 2; $j <= $highestRow; $j++) {

$importRows++;

$realName = (string)$objPHPExcel->getActiveSheet()->getCell("A$j")->getValue();//需要導入的realName

$phone = (string)$objPHPExcel->getActiveSheet()->getCell("B$j")->getValue(); //需要導入的phone

$company = (string)$objPHPExcel->getActiveSheet()->getCell("C$j")->getValue(); //需要導入的company

$job = (string)$objPHPExcel->getActiveSheet()->getCell("D$j")->getValue(); //需要導入的job

$email = (string)$objPHPExcel->getActiveSheet()->getCell("E$j")->getValue(); //需要導入的email

$ret['mdata'] = $this->addMemb($phone, $realName, $company, $job, $email);//這里就是我的數據庫添加操作定義的一個方法啦,對應替換為自己的

if ($ret['mdata'] && !is_Bool($ret['mdata'])) {

$ar[$i] = $ret['mdata'];

$i++;

}

}

if ($i > 0) {

$ret['res'] = "0";

$ret['errNum'] = $i;

$ret['allNum'] = $importRows;

$ret['sucNum'] = $importRows - $i;

$ret['mdata'] = $ar;

$ret['msg'] = "導入完畢!";

return json_encode($ret);

}

$ret['res'] = "1";

$ret['allNum'] = $importRows;

$ret['errNum'] = 0;

$ret['sucNum'] = $importRows;

$ret['mdata'] = "導入成功!";

return json_encode($ret);

} else {

$ret['res'] = "0";

$ret['msg'] = "上傳文件失敗!";

return json_encode($ret);

}

}

總結

以上是生活随笔為你收集整理的exls导入数据库 php_PHP Excel导入数据到MySQL数据库的全部內容,希望文章能夠幫你解決所遇到的問題。

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