Foros del Web » Programando para Internet » PHP »

como escribo en un archivo de word

Estas en el tema de como escribo en un archivo de word en el foro de PHP en Foros del Web. hola a todos. tengo un problema ya que necesito escribir en un .doc el resultado de una consulta en mysql , y dejarlo en forma ...
  #1 (permalink)  
Antiguo 21/04/2005, 14:25
 
Fecha de Ingreso: abril-2005
Ubicación: colombia
Mensajes: 242
Antigüedad: 19 años
Puntos: 0
como escribo en un archivo de word

hola a todos.

tengo un problema ya que necesito escribir en un .doc el resultado de una consulta en mysql , y dejarlo en forma de dos columnas.

por favor si alguien sabe como hacerlo agradezco su ayuda , ya que necesito terminar esta aplicacion urgente y me falto este ultimo requerimiento.

Gracias
  #2 (permalink)  
Antiguo 21/04/2005, 15:00
Avatar de nicolaspar  
Fecha de Ingreso: noviembre-2004
Ubicación: Villa Ballester Bs-As|Ar
Mensajes: 2.002
Antigüedad: 19 años, 5 meses
Puntos: 34
Trabajas en Windows o en Linux?

PD: Podes, si trabajas en windows, usar objetos COM, sino, podes forzar una descarga del doc, y si es este el caso, es una tabla con dos td dentros lo que queres.
__________________
Mi punto de partida es Que Bueno Lo Nuevo
  #3 (permalink)  
Antiguo 21/04/2005, 15:05
 
Fecha de Ingreso: abril-2005
Ubicación: colombia
Mensajes: 242
Antigüedad: 19 años
Puntos: 0
gracias por tus comentarios.

estoy trabajando en windows. No he podido escribir el resultado de una consulta a una tabla en un archivo de word que esta en una carpeta especifica, Ademas como hago para pasar la tabla con esas dos columnas a word?

gracias

Última edición por ivomat; 21/04/2005 a las 15:11
  #4 (permalink)  
Antiguo 21/04/2005, 15:07
Avatar de nicolaspar  
Fecha de Ingreso: noviembre-2004
Ubicación: Villa Ballester Bs-As|Ar
Mensajes: 2.002
Antigüedad: 19 años, 5 meses
Puntos: 34
Y como estas haciendo actualmente que no podes? que error te da el codigo que estas usando?
__________________
Mi punto de partida es Que Bueno Lo Nuevo
  #5 (permalink)  
Antiguo 22/04/2005, 06:55
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
Si quieres generar tu .doc .. tendrás que usar COM (www.php.net/com) y de ahí manejar el "API" de Word .. Por supuesto PHP y MS Office tendrá que estar instalado en ese mismo servidor.

Si tienes oportunidad .. mejor crea PDF .. es más "portable" (como documento en si) .. además que no requieres que PHP corra bajo windows o Linux y no es necesario instalar nada extra en tus servidores ... Por ejemplo podrías hacerlo con las classe: FPDF (www.fpdf.org)

Un saludo,
  #6 (permalink)  
Antiguo 22/04/2005, 10:08
 
Fecha de Ingreso: abril-2005
Ubicación: colombia
Mensajes: 242
Antigüedad: 19 años
Puntos: 0
creo que no me he hecho entender, el documento de word existe en una carpeta dentro del servidor y yo al momento de escribir le mando la ruta del archivo, lo que no me funciona es escribir sobre este archivo el resultado de la consulta

gracias
  #7 (permalink)  
Antiguo 25/04/2005, 09:33
 
Fecha de Ingreso: abril-2005
Ubicación: colombia
Mensajes: 242
Antigüedad: 19 años
Puntos: 0
hola a todos:

alquien sabe como hago para cambiarle los permisos a un archivo en word, para que me quede libre de permisos, ya que al escribir sobre este me sale que error : acceso denegado y creo que es por los permisos de archivo. este documento lo tengo en el servidor win 2003 server ?

gracias
  #8 (permalink)  
Antiguo 25/04/2005, 10:51
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
Los permisos no son de "word" exactamente sino de tu sistema de archivos . .revisa las propiedades del directorio donde tienes ese archivo (y/o archivo) .. por qué tendrás que dejarlo que se pueda escribir por todo usuario (no sólo "autor") .. realmente en "Windows 2003" no sé como trabaja ese tema los usuarios .. pero supongo que será "botón derecho" sobre esa carpeta/directorio ... En su defecto consulta en el foro de "windows".

Y esto:
Cita:
yo al momento de escribir le mando la ruta del archivo,
Que significa? .. como lo haces .. de donde "mandas" esa ruta .. ¿abres el archivo con COM o similar? .. o que es lo que haces exactamente (como para hacerse una idea ..)

Un saludo,
  #9 (permalink)  
Antiguo 25/04/2005, 15:26
 
Fecha de Ingreso: abril-2005
Ubicación: colombia
Mensajes: 242
Antigüedad: 19 años
Puntos: 0
muchas gracias por los comentarios alfin lo logre hacer, cambie los atributos al archivo desde la consola del DOS escribiendo attrib stickers.doc

$descripcion_contacto = mysql_query("select * from contactos where id
= '" .$descripcion['idContacto'] . "' ");
while ($descripcionContacto = tep_db_fetch_array($descripcion_contacto)){
// creando y abriendo archivo
$archivo=fopen('stickers.doc','a+') or die("no puedo abrir archivo");
// grabando los campos
fputs($archivo, $descripcionContacto['saludo']."\n");
fputs($archivo, $descripcionContacto['entidad']."\n");
fputs($archivo, $descripcionContacto['direccion']."\n");
fputs($archivo, $descripcionContacto['ciudad']."\n");
fputs($archivo, "\n");
fputs($archivo, "\n");
fputs($archivo, "\n");
//cerrando archivo
fclose($archivo);
}
} hay les dejo el codigo por si a alguien les sirve, el archivo 'stickers.doc' es generado en la carpeta donde estas trabajando en el servidor.


Última edición por ivomat; 25/04/2005 a las 15:35
  #10 (permalink)  
Antiguo 26/04/2005, 06:22
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
Ok .... Ok ..

En general lo que estás haciendo es un archivo de texto plano .. sólo que "Word" lo abre (sin ningún formato) como si de un ".txt" cualquiera se tratase.

También "Word" interpreta (a su manera) HTML .. así que hasta podrías usar HTML para definir tu "documento" (con negritas, algunas tablas .. etc) ...

Pero insisto que si quieres un buen formato para impresión .. genera PDF's ...

Un saludo,
  #11 (permalink)  
Antiguo 26/04/2005, 09:11
 
Fecha de Ingreso: abril-2005
Ubicación: colombia
Mensajes: 242
Antigüedad: 19 años
Puntos: 0
que interesante, como podria hacer para editar ese documento de word con html, ya que me seria util, en el momento de escribir sobre este de una vez que se genere en formato de dos columnas y que el usuario no tuviera que hacerlo. Este archivo contiene los membretes para unos sobres y es un desperdicio de papel dejarlo en una sola columna por eso quiero dejarlo en dos y que queden con los mismos espacios para poder imprimir directamente sobre los stickers esos que se pegan en los sobres.
  #12 (permalink)  
Antiguo 26/04/2005, 14:12
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
Consejo ..

NO Generes un Word .. genera PDF . .ahí tienes total control sobre lo que imprimes sin problemas. Es decir . vía PHP generas ese documento listo para imprimir (nada de que lo "editen a mano") .. sino no tiene mucho sentido usar "PHP" por el camino (usa "combinar correspondencia" de Word .. enlazado con los datos de tu BD Mysql por ODBC ..)

Prueba la classe:
FPDF
www.fpdf.com

Un saludo,
  #13 (permalink)  
Antiguo 26/04/2005, 17:25
Avatar de Seppo  
Fecha de Ingreso: marzo-2005
Ubicación: Buenos Aires, Argentina
Mensajes: 1.284
Antigüedad: 19 años, 1 mes
Puntos: 17
perdón Cluster... ¿No es www.fpdf.org ?
Si me equivoco decime si podes q hacer en fpdf.com porque no entiendo nada...
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




La zona horaria es GMT -6. Ahora son las 19:54.