Red de conocimiento informático - Material del sitio web - Cómo utilizar el marco ThinkPHP para importar y exportar datos de Excel

Cómo utilizar el marco ThinkPHP para importar y exportar datos de Excel

Pasos de implementación:

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

/* **Método**/

función index(){

$this->display();

}

función pública exportExcel($expTitle,$expCellName,$expTableData){

$xlsTitle = iconv('utf-8', 'gb2312', $expTitle);//nombre de archivo

$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')

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/>

;