Cómo utilizar el marco ThinkPHP para importar y exportar datos de Excel
Uno: descargue el último PHPExcel en la ubicación en Proveedor: ThinkPHP\Extend\Vendor\PHPExcel\PHPExcel.php.
Dos: Exporte la implementación del código de Excel p>
/* **Método**/
función index(){
$this->display();
} p>
función pública exportExcel($expTitle,$expCellName,$expTableData){
$xlsTitle = iconv('utf-8', 'gb2312', $expTitle);//nombre de archivo p>
$fileName = $_SESSION['account'].date('_YmdHis');//o $xlsTitle Puede configurar el nombre del archivo según su propia situación
$cellNum = count($ expCellName);
$dataNum = count($expTableData);
proveedor("PHPExcel.PHPExcel");
$objPHPExcel = new PHPExcel();
$nombrecelda = array('A','B','C','D','E','F','G','H','I','J ','K','L','M','N','O','P','Q','R','S','T','U','V', 'W',' x','y','z',aa','ab','ac','ad','ae','af','ag','ah','ai' ,'aj','ak','al','am','an','ao','ap','ak','ar','as','at','au',' av','aw','ax','AY','AZ');
$objPHPExcel->getActiveSheet(0)->mergeCells('A1:'.1'); fusionar celdas
// $objPHPExcel->setActiveSheetIndex(0)->setCellValue('A1', $expTitle.Export time:'.date('Y-m-d H:i:s') p>
for($i=0;$i<$cellNum;$i++){
$objPHPExcel->setActiveSheetIndex(0)->setCellValue($cellName[$i].' 2 ', $expCellName[$i][1]);
}
// Glifos varios, UTF-8
for($i=0; $i<$dataNum;$i++){
for($j=0;$j<$ cellNum;$j++){
$objPHPExcel->getActiveSheet(0)- >setCellValue($cellName[$j].($i+3), $expTableData[$i][$expCellName[$j][0]]);
}
}
}
encabezado('pragma:public');
> header('Content-type. application/vnd.ms-excel;charset=utf-8;name="'.$xlsTitle.'.xls");
header("Contenido-Disposición: adjunto;filename=$fileName.xls");//attachmentNueva ventana printsinline Esta ventana imprime
$ objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel,'Excel5');
$ objWriter->save('php://salida');
salir
}
/**
*
* Exportar Excel
*/
función expUser(){//Exportar Excel
$xlsName = "Usuario ";
$xlsCell = array(
array('id','secuencia de cuenta'),
array('truename','nombre' ),
array('sexo','género'),
array('res_id','facultad'),
array('sp_id' ,'mayor'),
array('clase','clase'),
array('año','tiempo de graduación'),
array('ciudad', ubicación'),
array('empresa','unidad'),
array('zhicheng','título'),
array('zhiwu','posición'),
array('jibie','nivel'),
array('tel','teléfono'),
array('qq','qq'),
array('correo electrónico','buzón'),
array('honor',' honor'),
array('observación','observación')
);
$xlsModel = M('Miembro');
$xlsData = $ xlsModel->Field('id,truename,sex,res_id,sp_id,clase,año,ciudad,empresa,Zhicheng,Zhiwu,jibie,tel,qq,email,honor,comentario')- >select();
foreach ($xlsData as $k => $v)
{
$xlsData[$k]['sexo' ]=$v['sexo']==1?'masculino':'femenino';
}
$this-> exportExcel($xlsName,$xlsCell,$xlsData );
}
Copiar código
Tercero: Importar código de datos de Excel
función impUser(){
if (!empty($_FILES) ){
import("@.ORG.UploadFile");
$config=array(
'allowExts'=>array('xlsx','xls'),
'savePath'=>'./Public/upload/',
'saveRule '=>'time',
);
$upload = nuevo UploadFile($config);
if (!$upload->upload() ) {
$this->error($upload->getErrorMsg());
} else {
$info = $upload->getUploadFileInfo(
}
proveedor("PHPExcel.PHPExcel");
$file_name=$info[0]['savepath'].$info[ 0]['savename'];
$objReader = PHPExcel_IOFactory::createReader('Excel5');
$objPHPExcel = $objReader->load($nombre_archivo,$codificar ='utf-8');
$sheet = $objPHPExcel->getSheet(0);
$highestRow = $sheet->getHighestRow() // obtiene el total número de filas
$highestColumn = $sheet->getHighestColumn(); // obtiene el número total de columnas
for($i=3;$i<=$highestRow; $i++)
{
$datos['cuenta'] = $datos[' nombre verdadero'] = $objPHPExcel->getActiveSheet()->getCell("B".$ i)->getValue();
$sexo = $objPHPExcel->getActiveSheet()->getCell("C". $i)->getValue()
/ / $datos['res_id'] = $objPHPExcel->getActiveSheet()->getCell("D".$i)->getValue();
$datos['clase'] = $objPHPExcel ->getActiveSheet()->getCell("E". $i)->getValue();
$datos['año'] = $objPHPExcel->getActiveSheet()->getCell("F ".$i)->getValue();
$datos['ciudad'] = $objPHPExcel->getActiveSheet()->getCell("G". $i)->getValue(); <
/p>
$datos['empresa'] = $objPHPExcel->getActiveSheet()->getCell("H".$i)->getValue();
$datos['zhicheng ']= $objPHPExcel->getActiveSheet()->getCell("I".$i)->getValue();
$datos['zhiwu']= $objPHPExcel->getActiveSheet()- >getCell("J". $i)->getValue();
$data['jibie']= $objPHPExcel->getActiveSheet()->getCell("K".$i)- >getValue();
$data['honor']= $objPHPExcel->getActiveSheet()->getCell("L". $i)->getValue();
$datos['tel']= $objPHPExcel->getActiveSheet()->getCell("M".$i)->getValue();
$datos['qq']= $objPHPExcel ->getActiveSheet()->getCell("N". $i)->getValue();
$data['email']= $objPHPExcel->getActiveSheet()->getCell("O ".$i)->getValue();
$datos['observación']= $objPHPExcel->getActiveSheet()->getCell("P". $i)->getValue();
$datos['sex']=$sex=='masculino'?1:0;
$datos['res_id'] =1;
$datos['last_login_time']=0;
$datos[' create_time']=$datos['last_login_ip']=$_SERVER['REMOTE_ADDR'];
$ datos['login_count']=0;
$datos['join']=0;
$datos[' avatar']='';
$datos['contraseña']=md5('123456');
M('Miembro')->add($datos);
}
$this->Success('¡Importación exitosa! ') )
}else
{
$this->Error ("Seleccione el archivo para cargar");
}
}
Copiar código
4. Código de plantilla
Exportar datos Y generar excel
& lt;br/>
p>