Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Servers (https://www.clubdelphi.com/foros/forumdisplay.php?f=9)
-   -   exportar a word (https://www.clubdelphi.com/foros/showthread.php?t=1958)

jac000y 03-07-2003 21:25:43

exportar a word
 
quiero exportar una lista de datos a word, quiero insertarlos en una tabla (de word), he investigado un poco pero no logro resolverlo

deberia quedar algo asi


LISTA DE CLIENTES

Codigo Nombre
------------------------------------------------------------------
1 Juan
2 Pedro
3 ......
.... ........

si alguien sabe como hacerlo, por favor ayuda, o si alguien tiene algun ejemplo

gracias a todos

Combat-F2D 04-07-2003 01:28:53

busca por ahi un componente free denominado ekrtf si mal no recuerdo;
permite lo que quieres mediante un dataset

si no lo encuentras hazmelo llegar

Monserrat 19-01-2004 17:16:13

Hechale un vistaso...
 
Hola jac000y, casualmente hace unos días necesitaba hacer algo similar a lo que tu planteas y en la página # 1 de esta misma sección en el foro, encontre un ejemplo de un codigo que realmente me funciono, hechale un vistaso te aseguro que te sera muy útil.
El título que tienes que buscar es el siguente: Como enviar el resultado de una consulta con una Query al Word? tiene fecha del 3 de Nov. del 2003 y el que solicito se llama Roman (Ricsato).
Solo tienes que modificar el código para el DataSet que utilices y la siguiente línea:
WordTable := WordDoc.Tables.Add(WordDoc.Range, RowCount + 1, ColCount, EmptyParam, EmptyParam);
Te aseguro que te funcionara, a mi me dio como resultado una tabla en Word con los datos de una tabla en Inter Base:

1 FAMILIA
2 AMIGOS
3 PROVEEDORES
4 COMIDA
5 LUGARES

;) Ciao...

roman 19-01-2004 17:52:57

Cita:

Empezado por Monserrat
El título que tienes que buscar es el siguente: Como enviar el resultado de una consulta con una Query al Word? tiene fecha del 3 de Nov. del 2003 y el que solicito se llama Roman (Ricsato).

Una pequeña aclaración: el que solicitó se llama Ricsato y el que contestó se llama Roman.

Creo que la búsqueda como la escribes no la acepta por tener palabras de menos de cuatro letras. El enlace es este

http://www.clubdelphi.com/foros/show...highlight=word

// Saludos

crack_neon 21-07-2006 21:33:15

Y en un documento ya guardado..
 
Hola un saludo,

Andaba buscando algo como esto, ya probé el ejemplo y definitivamente funciona, pero el detalle está en que yo necesito abrir las consultas en un documento que ya ha sido creado y posicionar los datos en un área específica del documento, es como se ha preguntado en otros hilos, tener una plantilla y solo modificar los datos que traemos de la bd.

La verdad que ya vi opciones pero ninguna me ayuda mucho tambien pensaba exportar de QReport a word, pero igual siento que mucho mas complicado y hay un hilo donde Marcozorrilla decia que no se podia, asi que me olvido de esa alternativa.

Creo que esta forma de pasar los datos es la mejor, solo necesito saber como enviarlos a un archivo ya creado.:rolleyes:

Hojala me pueda dar una idea estimado roman.

De antemano gracias...como siempre confiando en los expertos.

rafita 22-07-2006 21:12:18

Hola compañeros
Yo aporto un trozo de código donde se abre un documento de word existente (como requiere Crack-neon) y sustituyo un "Marcador" del documento y después añado unos datos en columnas (mediante tabuladores). Al final de código intentaba convertir ese trozo del documento en una tabla, pero como me fallaba lo he borrado (y le he explicado al usuario como puede hacerlo él desde word.
Código Delphi [-]
 
procedure TFConsultas.GenerarDocumentoWord;
var Fichero, SoloLectura, SalvarCambios, FormatoOriginal, Ruta, Marcador, Contenido : OleVariant;
    MiDocumento : _document;
 begin
  // Conexión con Word
  try
    MiWord.Connect;
  except
    ShowMessage('WordXP (o posterior) no está instalado en este equipo');
    Abort;
  end;
  // selección del documento base
  Fichero:='Z:\Informatica\delphi\Bomberos-Personal\Informe de un día.doc';
  // abrir el documento seleccionado con los parámetros necesarios
  SoloLectura:=True;
  MiDocumento:=MiWord.Documents.Open(Fichero, EmptyParam, SoloLectura,
               EmptyParam, EmptyParam, EmptyParam, EmptyParam, EmptyParam, EmptyParam,
               EmptyParam, EmptyParam, EmptyParam, EmptyParam, EmptyParam, EmptyParam);
  // sustituir el marcador de la fecha
  Marcador:='FechaTitulo';
  Contenido:=FechaLiteral(Label2.Caption);
  if MiDocumento.Bookmarks.Exists(Marcador) then MiDocumento.Bookmarks.Item(Marcador).Range.InsertBefore(Contenido);
  // insertamos los campos de la consulta en la tabla
  MiDocumento.Paragraphs.Last.Range.Font.Size:=12;
  ADOQuery1.First;
   if ADOQuery1.RecordCount>0 then
     While Not ADOQuery1.Eof do
     begin
       MiDocumento.Paragraphs.Last.Range.Text:=ADOQuery1.FieldByName('Apellidos').AsString+', '+ADOQuery1.FieldByName('Nombre').AsString+#9
       +ADOQuery1.FieldByName('Categoria').AsString+#9
       +wManiobras+wHorasExtras+wReduccion+wDiaLibre+wBaja+#9
       +ADOQuery1.FieldByName('Observaciones').AsString+#13;
       ADOQuery1.Next;
     end;
  // aquí habría que seleccionar el trozo de documento y convertirlo en tabla, pero como ya he dicho, no lo h conseguido
  // maximizamos la ventana de Word y desconectamos
  MiWord.WindowState:=wdWindowStateMaximize;
  MiWord.ActiveWindow.WindowState:=wdWindowStateMaximize;
  MiWord.PrintPreview;
  MiWord.Visible:=True;
  SalvarCambios:=wdDoNotSaveChanges;
  FormatoOriginal:=unAssigned;
  Ruta:=unAssigned;
  try
    MiWord.Disconnect;
  except
    on e:Exception do
    begin
      ShowMessage('Se ha producido el error '+e.Message);
      MiWord.Disconnect;
    end;
  end;
end;

Espero te sirva para algo.
Saludos

crack_neon 24-07-2006 17:22:11

Gracias....
 
Gracias rafita, justo lo que buscaba, ya terminé de implementar el código y todo salio a la perfección.

Otro problema resuelto.

Saludos nuevamente.


La franja horaria es GMT +2. Ahora son las 22:23:50.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi