thinkPHP Cómo utilizar PHPExcel para exportar datos de sitios web a Excel
Paso uno: Primero vaya a/descargue el paquete comprimido del complemento PHPExcel. Después de descomprimirlo, simplemente coloque el archivo en la carpeta Clases.
Paso 2: luego cambie el nombre de la carpeta Clases a PHPExcel (o no la cambie) y luego colóquela en la carpeta del directorio de la biblioteca de terceros Proveedor especificado por thinkPHP. El directorio de la biblioteca de terceros está en ThinkPHP. /Biblioteca.
El tercer paso: organizar los datos en datos adecuados para el formato de tabla de Excel. Sin más explicaciones, simplemente vaya al código public?function?export(){//organización de datos de la tabla de Excel y exporte.
$xlsData?=?M('table')->select();//encuentra la necesidad de exportar los datos
$xlsCell?=? el formato del documento excel la primera línea equivale al título
array('id', 'ID number'),
array('title', 'title') ,
array('tiempo', 'tiempo'),
array('contenido', 'contenido'),
array('contenido', 'contenido'),
array($xlsCell?'content')
);
$newArray?=?array();//matriz personalizada
foreach?($xlsData?as?$k?=>? $v)
{/Luego coloca todos los datos encontrados dentro del array correspondiente al título de la primera fila de la configuración
$newArray[$k]['id']? =?$v['id'];
$newArray[$k]['title'] ?$v['título '];
$newArray[$k]['hora'] =?fecha('Y-m-d',$v['hora']
$newArray [$k]['content']? =?$v['content'];
}
$xlsName?=?Datos de la tabla de Excel' ;// Establecer el nombre del archivo de la tabla de Excel
$this->exportExcel($xlsName,$xlsCell,$newArray);// Llame al complemento PHPExcel, la función en este paso también debe personalizarse
}/** *?@param?$xlsName?name *?@param?$xlsCell?Parameters (matriz de títulos) *?@param?$newArray?content (matriz de datos) */
public?function?exportExcel ($xlsName,$xlsCell,$newArray){
$xlsTitle?=?$xlsName);//El nombre del archivo debe transcodificarse para evitar errores confusos errores
$xlsCell_num?=? count($xlsCell);
$newArray_num?=?count($newArray);
vendor("PHPExcel.PHPExcel ");// Clave, utilice la función incorporada de thinkphp que anida el complemento PHPExcel, si el nombre de la carpeta no se cambia en el segundo paso: ve
ndor("Classes.PHPExcel"); haga clic en la carpeta del complemento antes de hacer clic y no agregue un sufijo al nombre del archivo PHPExcel.php después de hacer clic en él
$objPHPExcel?=?new? \PHPExcel();//instanciar PHPExcel
$column_key?=?\' A';//cada celda de la hoja de Excel es A1,A2,A3....Del mismo modo, las letras mayúsculas representan columnas y los números representan filas, por lo que la primera fila es Título
foreach($xlsCell?as?$k=>$v){
$objPHPExcel->setActiveSheetIndex(0)-> setCellValue( $column.'1',$ v);//Primero escribe el número de columnas de título en la primera fila
$column_key++;//La ventaja de este bucle es que no tienes para limitar la cantidad de columnas que hay, puede exportar cuántas columnas tienen los campos de la tabla de datos
}
for($i=0;$i<$newArray _num;$i++ ){// El primer nivel del bucle indica cuántas filas hay
$column_key?=?'A';
for($j=0;$j<$ xlsCell_num;$j++){//El segundo nivel representa el número de columnas
$objPHPExcel ->getActiveSheet(0)->setCellValue($column_key.($i+2), ?$newArray[$ i][$xlsCell[$j][0]]);//($i+2) significa desde A partir de la segunda línea, la primera línea se ha establecido como título
$column_key++;
}
}
}
encabezado('pragma:public');
encabezado(' Tipo de contenido: aplicación/vnd.ms-excel;charset=utf-8; nombre="'.$xlsTitle.');
encabezado("Disposición de contenido: archivo adjunto; nombre de archivo =$xlsTitle.xls");//adjuntoNueva ventana para imprimir en línea Esta ventana para imprimir
$ objWriter ?=?\PHPExcel_IOFactory::createWriter($objPHPExcel,?' Excel5');//Excel5 está en formato xls, excel2007 está en formato xlsx
$ objWriter->save('php://output') ;
exit;
}El archivo de efectos imagen después de correr