Foros del Web » Programando para Internet » PHP »

Salto de linea al llegar a 1024 caracteres al exportar a CSV

Estas en el tema de Salto de linea al llegar a 1024 caracteres al exportar a CSV en el foro de PHP en Foros del Web. Buenas noches, estoy exportando una consulta con fwrite a CSV y cuando la linea llega a 1024 caracteres se produce el salto de linea. ¿Alguien ...
  #1 (permalink)  
Antiguo 15/01/2013, 14:05
 
Fecha de Ingreso: diciembre-2012
Ubicación: Maracay
Mensajes: 25
Antigüedad: 12 años
Puntos: 2
Pregunta Salto de linea al llegar a 1024 caracteres al exportar a CSV

Buenas noches, estoy exportando una consulta con fwrite a CSV y cuando la linea llega a 1024 caracteres se produce el salto de linea.

¿Alguien me puede ayudar por favor?

Saludos.
  #2 (permalink)  
Antiguo 15/01/2013, 14:23
Colaborador
 
Fecha de Ingreso: mayo-2008
Ubicación: $MX['VZ']['Xalapa']
Mensajes: 3.005
Antigüedad: 16 años, 7 meses
Puntos: 528
Respuesta: Salto de linea al llegar a 1024 caracteres al exportar a CSV

Posiblemente estés usando el tercer parámetro de longitud del string, aunque sin código de ejemplo, sólo se puede adivinar.
  #3 (permalink)  
Antiguo 15/01/2013, 14:46
 
Fecha de Ingreso: diciembre-2012
Ubicación: Maracay
Mensajes: 25
Antigüedad: 12 años
Puntos: 2
Respuesta: Salto de linea al llegar a 1024 caracteres al exportar a CSV

Gracias, Aquí va parte del código...

$shtml = $shtml.$row['referencia'].'|'.$Seller_ID.'|'.$row['operacion'].'|'.$row['familia'].'|'.$row['tipo'].'|'.$row['CategoryID'].'|'.$row['precio'].'|'.$row['currency'].'|'.$row['superficie'].'|'.$row['habitaciones'].'|'.$row['estacionamiento'].'|'.$row['antiguedad'].'|'.$row['banos'].'|'.$row['piscina'].'|'.$row['jardin'].'|'.$row['ascensor'].'|'.$row['oficina'].'|'.$row['estado'].'|'.$row['ciudad'].'|'.$row['zona'].'|'.$Gmaps.'|'.$Titulo_web.'|'.$row['texto_web'].'|'.$row['fotos1'].'|'.$row['fotos2'].'|'.$row['fotos3'].'|'.$row['fotos4'].'|'.$row['fotos5'].'|'.$row['fotos6'].'|'.$row['fotos7'].'|'.$row['fotos8'].'|'.$row['update_images'].("\r\n");
$f = fopen("data.csv","w");

fwrite($f,$shtml);







}
fclose($f);
  #4 (permalink)  
Antiguo 15/01/2013, 14:55
Colaborador
 
Fecha de Ingreso: mayo-2008
Ubicación: $MX['VZ']['Xalapa']
Mensajes: 3.005
Antigüedad: 16 años, 7 meses
Puntos: 528
Respuesta: Salto de linea al llegar a 1024 caracteres al exportar a CSV

En el código que ejemplificas no debería suceder, claro a menos que tus datos midan 1024 caracteres y cuando colocas el "\r\n" se de el salto.

Te recomendaría revisar tus datos para asegurar que ninguno contenga el salto de linea, imprimiendo a pantalla y viendo el código fuente del html generado, por ejemplo.

Y también es posible simplificar un poco las instrucciones:

$shtml.="$row[referencia]|$Seller_ID|$row[operacion]|$row[familia]|$row[tipo]|$row[CategoryID]|$row[precio]|$row[currency]|$row[superficie]|$row[habitaciones]|$row[estacionamiento]|$row[antiguedad]|$row[banos]|$row[piscina]|$row[jardin]|$row[ascensor]|$row[oficina]|$row[estado]|$row[ciudad]|$row[zona]|$Gmaps|$Titulo_web|$row[texto_web]|$row[fotos1]|$row[fotos2]|$row[fotos3]|$row[fotos4]|$row[fotos5]|$row[fotos6]|$row[fotos7]|$row[fotos8]|$row[update_images]\r\n";


$f = fopen("data.csv","w");

fwrite($f,$shtml);
  #5 (permalink)  
Antiguo 15/01/2013, 15:03
Avatar de andresdzphp
Colaborador
 
Fecha de Ingreso: julio-2011
Ubicación: $this->Colombia;
Mensajes: 2.749
Antigüedad: 13 años, 5 meses
Puntos: 793
Respuesta: Salto de linea al llegar a 1024 caracteres al exportar a CSV

No es correcto dejar la clave de un array sin sus comillas.

Código PHP:
Ver original
  1. $row[referencia] //mal
  2. $row['referencia'] //bien
__________________
Si sabemos como leer e interpretar el manual será mucho más fácil aprender PHP. En lugar de confiar en ejemplos o copiar y pegar - PHP
  #6 (permalink)  
Antiguo 15/01/2013, 15:21
 
Fecha de Ingreso: diciembre-2012
Ubicación: Maracay
Mensajes: 25
Antigüedad: 12 años
Puntos: 2
Respuesta: Salto de linea al llegar a 1024 caracteres al exportar a CSV

Muchas gracias a los 2. Mis datos miden más de 1024 caracteres, justamente al llegar a 1024 hace un salto de linea cosa que no quiero que suceda, quiero que esto suceda al final de cada linea.
Ninguno de los datos contiene salto de linea.
  #7 (permalink)  
Antiguo 15/01/2013, 17:17
 
Fecha de Ingreso: diciembre-2012
Ubicación: Maracay
Mensajes: 25
Antigüedad: 12 años
Puntos: 2
Respuesta: Salto de linea al llegar a 1024 caracteres al exportar a CSV

Hola a Tod@s nuevamente. Ya lo he solucionado. NO entiendo mucho de programación pero al hacer lo siguiente ha funcionado.
He encapsulado los campos y al importarlo luego desde Open Calc lo ha hecho correctamente.
Anteriormente estaba cargando el CSV con notepad para comprobarlo pero me he dado cuenta que soporta nada más que 1024 columnas, aun así cuando intentaba cargar el fichero desde Open Calc, este NO lo hacia debidamente.

Aquí les dejo el código.
----------------------------------------------------
// Exportar a CSV
$e ='"'; //encapsulación
$shtml = $shtml.$e.$row['referencia'].$e.'|'
.$e.$Seller_ID.$e.'|'
.$e.$row['operacion'].$e.'|'
.$e.$row['familia'].$e.'|'
.$e.$row['tipo'].$e.'|'
.$e.$row['CategoryID'].$e.'|'
.$e.$row['precio'].$e.'|'
.$e.$row['currency'].$e.'|'
.$e.$row['superficie'].$e.'|'
.$e.$row['habitaciones'].$e.'|'
.$e.$row['estacionamiento'].$e.'|'
.$e.$row['antiguedad'].$e.'|'
.$e.$row['banos'].$e.'|'
.$e.$row['piscina'].$e.'|'
.$e.$row['jardin'].$e.'|'
.$e.$row['ascensor'].$e.'|'
.$e.$row['oficina'].$e.'|'
.$e.$row['estado'].$e.'|'
.$e.$row['ciudad'].$e.'|'
.$e.$row['zona'].$e.'|'
.$e.$Gmaps.$e.'|'
.$e.$Titulo_web.$e.'|'
.$e.$row['texto_web'].$e.'|'
.$e.$row['fotos1'].$e.'|'
.$e.$row['fotos2'].$e.'|'
.$e.$row['fotos3'].$e.'|'
.$e.$row['fotos4'].$e.'|'
.$e.$row['fotos5'].$e.'|'
.$e.$row['fotos6'].$e.'|'
.$e.$row['fotos7'].$e.'|'
.$e.$row['fotos8'].$e.'|'
.$e.$row['update_images'].$e.("\r\n");








$f = fopen("data.csv","w");



fwrite($f,$shtml);


fclose($f);
--------------------------------------

Gracias!!
  #8 (permalink)  
Antiguo 15/01/2013, 17:20
 
Fecha de Ingreso: diciembre-2012
Ubicación: Maracay
Mensajes: 25
Antigüedad: 12 años
Puntos: 2
Respuesta: Salto de linea al llegar a 1024 caracteres al exportar a CSV

P.D.
el que persevera vence!

Etiquetas: csv, fwrite
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta

SíEste tema le ha gustado a 1 personas




La zona horaria es GMT -6. Ahora son las 20:50.