ubiquitour.com

Cómo convertir XLS a CSV con PHP

PHP y bases de datos van de la mano. Como tal, los archivos PHP y Excel históricamente han encontrado problemas de compatibilidad. Personas a menudo mantienen bases de datos editados manualmente en hojas de cálculo Excel y luego en algunos, queremos crear un script PHP o una página web para interactuar con los datos en esa hoja de cálculo. Por desgracia, Excel es un formato propietario de Microsoft. Así que el método de combinar sistemas de código abierto para archivos de Excel tan recomendado es convertir datos de hoja de cálculo de Excel a un valor separado por comas, o CSV, archivos. Históricamente, scripts PHP tuvieron que ejecutar en Windows y usar COM hacerlo. Pero ahora hay una solución conveniente de la cruz-plataforma.

Instrucciones

Obtenga PHP Excel Reader

1 Ir al PHP Excel Reader Descargar y Web de documentación (ver recursos) y descargar el paquete de PHP Excel Reader.

2 Descomprima el paquete y elimine los archivos de ejemplo. No es necesario utilizarlos.

3 Instalar el archivo llamado "excel_reader2.php" donde puede encontrar el servidor PHP. Por ejemplo, si usas PHP en un servidor Web alojado remotamente, subir excel_reader2.php a una carpeta en la ruta de incluir en tu servidor mediante FTP o el programa de transferencia de archivo favorito.

Procesar el archivo XLS

4 Acercar a su archivo de Excel a su script PHP. Hacer una copia del archivo de Excel con el nombre "xls_test.xls" de este tutorial. Luego mueva el "xls_test.xls" en la carpeta donde se encuentra tu script PHP. Si se programa en un servidor remoto, usar FTP o el programa de transferencia de archivo preferido para transferir el archivo de Excel en el servidor. Si está programando en su propio ordenador, arrastre "xls_test.xls" en la carpeta donde está el script PHP.

5 Crear una instancia de PHP Excel Reader en tu script PHP usando el archivo de Excel. Crear una variable que contiene el archivo de Excel como un objeto que puede ser manipulado, buscado, etc.. Uso "$xls = new Spreadsheet_Excel_Reader ('xls_test.xls ', false);" como su código. Usando "falso" como el segundo parámetro ahorrará en el uso de la memoria desde archivos CSV son simples y no necesitan dicha información como colores del borde de la célula.

6 Cree una variable para almacenar los datos CSV. Uso "$csv = '';" como su código.

7 Encontrar el número de filas y columnas en el archivo de Excel. Para las columnas, utilice "$cols = $xsl -> colcount();" como su código. Para las filas, utilice "$rows = $xls -> rowcount();" como su código.

8 Crear los datos CSV. Utilizar un anidados "bucle" for a hacerlo:

para ($r = 1; $r < = $rows; $r ++) {//go a través de cada fila de la hoja de cálculo

para ($c = 1; $c < = $cols; $c ++) {//go a través de cada columna

$csv .= $xls->raw($r, $c); //get the raw data in the current cell.

if ($c = $cols) {

$csv .= "\n"; //create a new line after we've finished this row

} else {

$csv .= ","; //Put a comma between each item

}

}

}

9 Guardar el contenido de $csv a un archivo CSV utilizando funciones de escritura de archivos de PHP. Asegúrese de que el archivo termina en "CSV" para mayor claridad.

Consejos y advertencias

  • CSV es un formato de datos mucho más simple que un archivo de Excel. Este tutorial funciona para archivos XLS con cero o una fila de encabezado seguido por filas de datos. Cualquier otro formato requerirá más programación complicada.