原創文章引自(https://www.ympfb.com/show-29-154-1.html)
在用之前必須
use think\PHPExcel;
並且這個是第三方類庫,這個類庫是直接用命令能後下載的
composer 命令:
composer require phpoffice/phpexcel
public function save(){
//前臺的form表單大家都會吧,我就不寫了
//設定檔案上傳的最大限制
ini_set('memory_limit','1024M');
//載入第三方類檔案
require_once "../extend/PHPExcel/PHPExcel.php";
//防止亂碼
header("Content-type:text/html;charset=utf-8");
//例項化主檔案
//接收前臺傳過來的execl檔案
$file = $_FILES['file'];
//擷取檔案的字尾名,轉化成小寫
$extension = strtolower(pathinfo($file['name'],PATHINFO_EXTENSION));
if($extension == "xlsx"){
//2007(相當於是開啟接收的這個excel)
$objReader =\PHPExcel_IOFactory::createReader('Excel2007');
}else{
//2003(相當於是開啟接收的這個excel)
$objReader = \PHPExcel_IOFactory::createReader('Excel5');
}
$objContent = $objReader -> load($file['tmp_name']);
if ($objContent){
$sheetContent = $objContent -> getSheet(0) -> toArray();
//刪除第一行標題
//dump($sheetContent);die;
//其實到這裡就結束了,就已經得到excel表格的所有資料了,下面就是如何插入資料庫的問題了 ,下面我的方法大家可以參考
$len = count($sheetContent);
//var_dump($len);exit;
if($len == 1){
echo "<script>alert('請不要拿空表格來騙我');window.history.back();</script>";
exit();
}
for($i = 1;$i<$len; $i++){
$data = [
'id' => '',
'phone' => $sheetContent[$i][0],
'company_name' => $sheetContent[$i][1],
'add_id' => $sheetContent[$i][2],
'industry_id' => $sheetContent[$i][3],
'data_name' => $sheetContent[$i][4],
'data_address' => $sheetContent[$i][5],
'data_class' => $sheetContent[$i][6],
'data_set_up_date' => $sheetContent[$i][6],
'create_time' => date('Y-m-d')
];
//dump($data);die;
$re = Db::name('data_decoration_company')->insert($data);
}
//var_dump($res);die;
if($re){
echo "<script>alert('匯入成功');window.history.back(); </script>";
exit();
$this->redirect('/')->remember();
}else{
echo "<script>alert('匯入失敗了,慢點慢點@!@本電腦的腦子已經跟不上你的節奏了');window.history.back();</script>";
exit();
$this->redirect('/')->remember();
}
}else{
$this->error('請匯入表格 !');
}
}
``````php
本作品採用《CC 協議》,轉載必須註明作者和本文連結