Cómo funciona JustAnswer:
  • Preguntar a un Experto
    Los expertos tienen muchos conocimientos valiosos y están dispuestos a ayudar en cualquier pregunta. Credenciales confirmadas por una empresa de verificación perteneciente a Fortune 500.
  • Obtener una respuesta profesional
    Por correo electrónico, mensaje de texto o notificación mientras espera en su sitio.
    Haga preguntas de seguimiento si lo necesita.
  • Garantía de satisfacción plena
    Garantizamos tu satisfacción.
Formule su propia pregunta a Jose Mari
Jose Mari
Jose Mari, Grado Superior
Categoría: Informática
Clientes satisfechos: 526
Experiencia:  Técnico informático y Programador.
57600787
Escriba su pregunta sobre Informática aquí...
Jose Mari está en línea ahora

Como convertir un documento xls a csv usando php?

Pregunta del cliente

Como convertir un documento xls a csv usando php?
Enviada: hace 5 año.
Categoría: Informática
Experto:  Jose Mari escribió hace 5 año.

Buenas tardes,

 

El código sería el siguiente:

 

  1. /* Get the excel.php class here: http://www.phpclasses.org/browse/package/1919.html */
  2. require_once("../classes/excel.php");
  3. $inputFile=$argv[1];
  4. $xlsFile=$argv[2];
  5. if( empty($inputFile) || empty($xlsFile) ) {
  6. die("Usage: ". basename($argv[0]) . " in.csv out.xls\n" );
  7. }
  8. $fh = fopen( $inputFile, "r" );
  9. if( !is_resource($fh) ) {
  10. die("Error opening $inputFile\n" );
  11. }
  12. /* Assuming that first line is column headings */
  13. if( ($columns = fgetcsv($fh, 1024, "\t")) == false ) {
  14. print( "Error, couldn't get header row\n" );
  15. exit(-2);
  16. }
  17. $numColumns = count($columns);
  18. /* Now read each of the rows, and construct a
  19. big Array that holds the data to be Excel-ified: */
  20. $xlsArray = array();
  21. $xlsArray[] = $columns;
  22. while( ($rows = fgetcsv($fh, 1024, "\t")) != FALSE ) {
  23. $rowArray = array();
  24. for( $i=0; $i<$numColumns;$i++ ) {
  25. $key = $columns[$i];
  26. $val = $rows[$i];
  27. $rowArray["$key"] = $val;
  28. }
  29. $xlsArray[] = $rowArray;
  30. unset($rowArray);
  31. }
  32. fclose($fh);
  33. /* Now let the excel class work its magic. excel.php
  34. has registered a stream wrapper for "xlsfile:/"
  35. and that's what triggers its 'magic': */
  36. $xlsFile = "xlsfile:/".$xlsFile;
  37. $fOut = fopen( $xlsFile, "wb" );
  38. if( !is_resource($fOut) ) {
  39. die( "Error opening $xlsFile\n" );
  40. }
  41. fwrite($fOut, serialize($xlsArray));
  42. fclose($fOut);
  43. exit(0);

Para cualquier tipo de aclaración o duda, por favor, póngase en contacto conmigo. Si usted cree que la respuesta aportada es valida, por favor, marque la respuesta como aceptada.

 

Quedando a la espera de recibir noticias suyas, reciba un saludo,