您好,登錄后才能下訂單哦!
首選去下載phpexcel文件包
1.phpexcel把excel表格數據導入mysql‘數據庫中規定的表中
前端:
<tr>
<td><table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="10%" height="30" align="right" bgcolor="#f2f2f2" class="left_txt2">上傳文件</td>
<td width="1%" bgcolor="#f2f2f2"> </td>
<td width="32%" height="30" bgcolor="#f2f2f2">
<input type="file" name="excelPacket" class="file">
</td>
</tr>
<tr>
<td height="30" colspan="4" align="center" class="left_txt"><input type="submit" name="button" id="button" value="創建" />
<input type="reset" name="button2" id="button2" value="重置" /></td>
</tr>
</table></td>
</td>
</tr>
注:mysql表里的字段要和excel表格的表頭一致方便導入
header("Content-type:text/html;charset=utf-8");
require_once 'backend_islogin.php';
require_once '../db/Db.php';
require_once '../backend/PHPExcel/PHPExcel.php';
//實例化類
$PHPReader = new PHPExcel_Reader_Excel2007();
//接收前端傳過來的file文件
$fileExtArr = explode(".",$_FILES['excelPacket']['name']);
$fileExt = ".".$fileExtArr[1];
//加密存放到指定文件夾下
$path=$_SERVER['DOCUMENT_ROOT'].'/excelupload/'.time().md5($_FILES['excelPacket']['name'].rand()).$fileExt;
move_uploaded_file($_FILES['excelPacket']['tmp_name'],$path);
if( ! $PHPReader->canRead($path))
{
$PHPReader = new PHPExcel_Reader_Excel5();
if( ! $PHPReader->canRead($path)){
echo 'no Excel';
return ;
}
}
$PHPExcel = $PHPReader->load($path); //讀取文件
$currentSheet = $PHPExcel->getSheet(0); //讀取第一個工作簿
$allColumn = $currentSheet->getHighestColumn(); // 所有列數
$allRow = $currentSheet->getHighestRow(); // 所有行數
$data = array(); //下面是讀取想要獲取的列的內容
for ($rowIndex = 2; $rowIndex <= $allRow; $rowIndex++)
{
$data[] = array(
'name' => $currentSheet->getCell('A'.$rowIndex)->getValue(),
'brand' => $currentSheet->getCell('B'.$rowIndex)->getValue(),
'goods_code' => $currentSheet->getCell('C'.$rowIndex)->getValue(),
'credit_code' => $currentSheet->getCell('D'.$rowIndex)->getValue(),
'f_code' => $currentSheet->getCell('E'.$rowIndex)->getValue(),
'c_code' => $currentSheet->getCell('F'.$rowIndex)->getValue(),
'adapt_mod' => $currentSheet->getCell('G'.$rowIndex)->getValue(),
'oe_code' => $currentSheet->getCell('H'.$rowIndex)->getValue(),
'img_code' => $currentSheet->getCell('I'.$rowIndex)->getValue(),
'acc_info' => $currentSheet->getCell('J'.$rowIndex)->getValue(),
'user_id' => $_SESSION['session_id'],
'audit' => 0,
);
}
//執行數據庫操作
$dbObj = new DB();
foreach($data as $row){
$oe_code = $row["oe_code"];
$oe_code = $dbObj->get_one("select 'oe_code' from tb_goods where oe_code = '$oe_code'");
if(!empty($oe_code)){
echo "<script>
alert('商品重復請重新上傳');
location.href = 'backend_product.php';
</script>";
break;
}else{
$re = $dbObj -> insert("tb_goods",$row);
if($re){
echo "<script>alert('編輯成功');location.href='backend_product.php';</script>";
}
}
}
2.phpexcel把excel表格數據修改,保存新的表格
需求:修改當前excel表格的表頭 ,表文件名換成新品牌的名字,sheet換成品牌
源表頭字段
id brand series car_name manufacturer model_year level engine case specifications structure max_speed integrated_fuel wheelbase number_doors number_seats fuel_volume fuel_volume inlet drive car_body parking_brake_type tyre_spec tire_spec
替換后的表頭字段
id 品牌 車系 車型名稱 廠商 年款 級別 發動機 變速箱 長寬高(mm) 車身結構 最高車速(km/h) 工信部綜合油耗(L/100km) 軸距(mm) 車門數(個) 座位數(個) 油箱容積(L) 發動機型號 進氣形式 驅動方式 車體結構 駐車制動類型 前輪胎規格 后輪胎規格
就是把因為除了id之外其它的換成漢字
sheet里的內容換成對應的品牌:
修改后的樣子:
具體實現代碼如下:
<?php
/**
}
foreach ($dataset as $value){
$bdname = $value['brand'];
}
//print_r($bdname);exit;
$PHPExcel->getActiveSheet()->setTitle("$bdname");
$PHPExcel->setActiveSheetIndex(0);
$file_one->setCellValue('A1', 'id')
->setCellValue('B1', '品牌')
->setCellValue('C1', '車系')
->setCellValue('D1', '車型名稱')
->setCellValue('E1', '廠商')
->setCellValue('F1', '年款')
->setCellValue('G1', '級別')
->setCellValue('H1', '發動機')
->setCellValue('I1', '變速箱')
->setCellValue('J1', '長寬高(mm)')
->setCellValue('K1', '車身結構')
->setCellValue('L1', '最高車速(km/h)')
->setCellValue('M1', '工信部綜合油耗(L/100km)')
->setCellValue('N1', '軸距(mm)')
->setCellValue('O1', '車門數(個)')
->setCellValue('P1', '座位數(個)')
->setCellValue('Q1', '油箱容積(L)')
->setCellValue('R1', '發動機型號')
->setCellValue('S1', '進氣形式')
->setCellValue('T1', '驅動方式')
->setCellValue('U1', '車體結構')
->setCellValue('V1', '駐車制動類型')
->setCellValue('W1', '前輪胎規格')
->setCellValue('X1', '后輪胎規格');
$path =iconv("utf-8","gb2312",$bdname.$fileExt);//因為win是支持excelgbk的索引要轉換一下編碼格式
$objWriter->save("../excelupload/$path");
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。