扫二维码与项目经理沟通
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流
首选去下载phpexcel文件包
站在用户的角度思考问题,与客户深入沟通,找到华亭网站设计与华亭网站推广的解决方案,凭借多年的经验,让设计与互联网技术结合,创造个性化、用户体验好的作品,建站类型包括:成都网站建设、成都网站设计、企业官网、英文网站、手机端网站、网站推广、域名申请、虚拟主机、企业邮箱。业务覆盖华亭地区。
1.phpexcel把excel表格数据导入MySQL‘数据库中规定的表中
前端:
上传文件 | |||
注: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 "";
break;
}else{
$re = $dbObj -> insert("tb_goods",$row);
if($re){
echo "";
}
}
}
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里的内容换成对应的品牌:
修改后的样子:
具体实现代码如下:
/**
}
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");
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流