php語言中Excel表格導入數據庫的方法詳解
public function saveexcel(){
require_once(‘./Thinkphp/Extend/Vendor/PHPExcel-1.8/Classes/PHPExcel.php‘);
require_once(‘./Thinkphp/Extend/Vendor/PHPExcel-1.8/Classes/PHPExcel/IOFactory.php‘);
//獲取表格的大小,限制上傳表格的大小5M
// $file_size = $_FILES[‘myfile‘][‘size‘];
// if ($file_size>510241024) {
// echo "<script>alert(‘上傳失敗,上傳的表格不能超過5M的大小‘);history.go(-1);</script>";
// exit();
// }
//限制上傳表格類型 $file_type = $_FILES[‘myfile‘][‘type‘]; if ($file_type!=‘application/vnd.ms-excel‘) { echo "<script>alert(‘上傳失敗,只能上傳excel2003或97-2003的xls格式!‘);history.go(-1)</script>"; exit(); } //判斷表格是否上傳成功 if (is_uploaded_file($_FILES[‘myfile‘][‘tmp_name‘])) { //以上三步加載phpExcel的類 $objReader = \PHPExcel_IOFactory::createReader(‘Excel5‘);//use excel2007 for 2007 format //接收存在緩存中的excel表格 $filename = $_FILES[‘myfile‘][‘tmp_name‘]; $objPHPExcel = $objReader->load($filename); //$filename可以是上傳的表格,或者是指定的表格 $sheet = $objPHPExcel->getSheet(0); $highestRow = $sheet->getHighestRow(); // 取得總行數 // $highestColumn = $sheet->getHighestColumn(); // 取得總列數 //循環讀取excel表格,讀取一條,插入一條 //j表示從哪一行開始讀取 從第二行開始讀取,因為第一行是標題不保存 //$a表示列號 $model=M(‘user‘); $rechargemodel=M(‘recharge‘); $joinmodel=M(‘joinplan‘); for($j=2;$j<=$highestRow;$j++) { $name = $objPHPExcel->getActiveSheet()->getCell("B".$j)->getValue();//獲取B(姓名)列的值 $tel = $objPHPExcel->getActiveSheet()->getCell("C".$j)->getValue();//獲取C(手機號)列的值 $arr[‘name‘]=$name; $arr[‘tel‘]=$tel; $arr[‘addtime‘]=time(); $arr[‘geti‘]=0; $res=$model->add($arr); } if($res){ success(‘添加成功‘,U(‘userlist‘)); }else{ error(‘操作失敗,請稍後再試‘); } }
}
Php excel 文件
代碼導出(不需要引入 任何接口)
public function exportDayInner(){
$model = M("Goodsinfo");
// $innerdata = $mod->select();
$list = $model->order(‘gid desc‘)->select();
$smodel = M("Shopinfo");
$gmodel = M("Goodscategory");
foreach ($list as $key => $value) {
$list[$key][‘maoli‘]=floatval($value[‘price‘])-floatval($value[‘jprice‘]);
$list[$key]["catename"]=$gmodel->where("id=%d",$value[‘goodscateid‘])->getField("name");
}
$a =[‘普通商品‘,‘休閑專區‘,‘特價專區‘,‘套餐專區‘,‘酒水專區‘,‘新品專區‘,‘限購‘,‘普通商品‘];
$b = [‘推薦‘,‘不推薦‘];
$c = [‘有‘,‘無‘];
// echo $mod->getLastSql();exit;
// dump($innerdata);die;
$table = ‘‘;
$table .= "<table align=‘center‘ border=‘1‘ cellpadding‘0‘ cellspacing=‘0‘>
<thead>
<tr>
<th class=‘name‘>序號</th>
<th class=‘name‘>商品名</th>
<th class=‘name‘>商品類型</th>
<th class=‘name‘>商品一級分類</th>
<th class=‘name‘>商品二級分類</th>
<th class=‘name‘>是否推薦</th>
<th class=‘name‘>進價</th>
<th class=‘name‘>售價</th>
<th class=‘name‘>毛利</th>
<th class=‘name‘>毛利率</th>
<th class=‘name‘>條碼</th>
<th class=‘name‘>規格</th>
<th class=‘name‘>生產日期</th>
<th class=‘name‘>保質期</th>
<th class=‘name‘>建議零售價</th>
<th class=‘name‘>是否有貨</th>
</tr>
</thead>
<tbody>";
foreach ($list as $v) {
$table .= "<tr align=‘center‘>
<td class=‘name‘>{$v[‘gid‘]}</td>
<td class=‘name‘>{$v[‘gname‘]}</td>
<td class=‘name‘>{$a[$v[‘type‘]]}</td>
<td class=‘name‘>{$v[‘catename‘]}</td>
<td class=‘name‘>{$v[‘classify‘]}</td>
<td class=‘name‘>{$b[$v[‘like‘]]}</td>
<td class=‘name‘>{$v[‘jprice‘]}</td>
<td class=‘name‘>{$v[‘price‘]}/{$v[‘unity‘]} </td>
<td class=‘name‘>{$v[‘maoli‘]}</td>
<td class=‘name‘>{$v[‘maolilv‘]}%</td>
<td class=‘name‘>{$v[‘borcode‘]}</td>
<td class=‘name‘>{$v[‘norms‘]}</td>
<td class=‘name‘>{$v[‘ptime‘]}</td>
<td class=‘name‘>{$v[‘shelflife‘]}</td>
<td class=‘name‘>{$v[‘retail_price‘]}</td>
<td class=‘name‘>{$c[$v[‘repertor‘]]}</td>
</tr>";
}
$table .= "</tbody>
</table>";
//通過header頭控制輸出excel表格
header("Pragma: public");
header("Expires: 0");
header("Cache-Control:must-revalidate, post-check=0, pre-check=0");
header("Content-Type:application/force-download");
header("Content-Type:application/vnd.ms-execl");
header("Content-Type:application/octet-stream");
header("Content-Type:application/download");
header(‘Content-Disposition:attachment;filename="商品列表.xls"‘);
header("Content-Transfer-Encoding:binary");
echo $table;
}
以上就是為各位講解的如何在Excel表格中導入數據庫的具體方法了,希望有不懂的技術人員可以在評論中提出,我們會為您解答。
本文由專業做app開發制作、微信小程序開發、網站建設的鄭州燚軒軟件科技發表,如需轉載請註明原文作者及出處!
php語言中Excel表格導入數據庫的方法詳解