Red de conocimiento informático - Material del sitio web - Cómo usar php para cargar Excel

Cómo usar php para cargar Excel

Primero, cargue el archivo en la página HTML principal: Por ejemplo:

Copia el código de la siguiente manera:

En segundo lugar, procese el archivo en el archivo php correspondiente

Copiar el código de la siguiente manera:

if (!empty ( $_FILES ['file_stu'] ['name'] )

{

$tmp_file = $_FILES ['file_stu'] [ 'tmp_name'];

$file_types = explotar ( "." , $_FILES ['file_stu'] ['nombre'] );

$file_type = $file_types [count ( $file_types ) - 1];

/* Distinguir si es un archivo .xls o un archivo excel*/

if ( strtolower ($file_type ) != "xls")

{

$this->error ( 'No es un archivo de Excel, vuelve a subir' );

}

/*Configuración Ruta de carga*/

$savePath = SITE_PATH .'/public/upfile/Excel/'

/* Nombra el archivo de carga por hora*/

$ str = date ( 'Ymdhis' );

$file_name = $str .." .$file_type;

/*Si la carga fue exitoso*/

if (! copy ( $tmp_file, $savePath . $file_name ))

{

$this->error ( 'Error en la carga' );

}

/*

* Procesa los datos de Excel cargados para generar datos de programación. Esta función se utilizará en la clase ExcelToArray en el paso 3 a continuación.

Nota: Esto llama a la función de lectura en el tercer paso de la clase de ejecución, convierte Excel en una matriz y lo devuelve a $res, y luego lo escribe en la base de datos

* /

$res = Service ( 'ExcelToArray ' )->read ( $savePath .$file_name );

/*

Código importante para solucionar el problema de los métodos THINKPHP M y D que no se llaman

Si encuentra el problema de que los métodos THINKPHP M y D no son válidos, agregue las siguientes líneas de código: */

// spl_autoload_ Register ( array ('Think' ) ->.register ( array ('Think', 'autoload ' );

/* Escribe la base de datos en la matriz generada */

>

foreach ( $res como $k => $v )

{

if ($k != 0)

{

$datos ['uid'] = $v [0];

$datos ['contraseña'] = sha1 ( '111111' ); 'correo electrónico'] = $v [1];

$datos ['uname'] = $v [3];

$datos ['instituto'] = $v [ 4];

$resultado = M ( 'usuario' )->add( $datos );

if (!$resultado)

{

$this->error ('Error al importar la base de datos');

}

}

}

}

}

Tercero: clase ExcelToArrary, utilizada para hacer referencia a phpExcel y procesar datos de Excel

Copie el código de la siguiente manera:

clase ExcelToArrary extiende Service{

public function __construct() {

/* Importa la clase principal de phpExcel Nota: tu ruta no es la misma que la mía no se puede copiar directamente */< / p>

include_once('./Excel/PHPExcel.php');

}

/**

* Leer excel $filename ruta Nombre de archivo $encode La codificación predeterminada de los datos devueltos es utf8

* El siguiente contenido básicamente no se cambiará

*/

función pública read($ nombre de archivo,$encode= 'utf-8'){

$objReader = PHPExcel_IOFactory::createReader('Excel5');

$objReader->.setReadDataOnly(true);

$objPHPExcel = $objReader->load($filename);

$objWorksheet = $objPHPExcel->getActiveSheet();

$highestRow = $objWorksheet- >getHighestRow();

$highestColumn = $objWorksheet->getHighestColumn();

$highestColumnIndex = PHPExcel_Cell::columnIndexFromString($highestColumn); excelData = array() ;

for($fila = 1; $fila <= $highestRow; $fila++) {

for ($col = 0; $col < $highestColumnIndex ;$col++) {

$datosexcel[

$fila][] = (cadena)$objWorksheet-> getCellByColumnAndRow($col,$fila)->getValue();

}

}

}

}

Devuelve $excelData;

}

}

}