Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Varios
Registrarse FAQ Miembros Calendario Guía de estilo Buscar Temas de Hoy Marcar Foros Como Leídos

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 28-03-2016
Avatar de jeremiselxi
jeremiselxi jeremiselxi is offline
Miembro
 
Registrado: ago 2008
Posts: 199
Poder: 16
jeremiselxi Va por buen camino
Exportar en excel una celda con una parte negrita y la otra normal.

Buenas tardes.

Tal como dice el titulo, estoy intentando hacer algo que por mas que he querido no me sale,

Lo único que quiero es exportar un documento en excel y que en este contenga una celda con la primera parte en negrita y la otra parte normal.

Ejemplo de Celda.

------
Caso No 1: Este es un comentario
Caso No 2: Este es otro comentario
------


Adjunto el código que tengo hasta ahora

Código Delphi [-]

procedure TForm_Fondos_fijos_reponibles.btnExportaraexcelClick(Sender: TObject);
var
  Libro : _WORKBOOK;
  Hoja  : _WORKSHEET;
 contar, i,colora:Integer;
//  progreso:real;
Hojainicio:integer;
begin

ShowMessage('Espere un momento');

i:=0;

Libro := Excel.Workbooks.Add(Null, 0);
Hoja  := Libro.Sheets[1] as _WORKSHEET;

i:=i+1;
Hoja.Cells.Item[i,1]:='Caso';
Hoja.Cells.Item[i,2]:='Comentario';
Hoja.Cells.Item[i,3]:='Comentario Para el Informe.';
Hoja.Range['A'+ inttostr(i),'F'+ inttostr(i)].Font.Bold:=true;
Hoja.Range['A'+ inttostr(i),'F'+ inttostr(i)].WrapText:=true;
Hoja.Range['A'+ inttostr(i),'F'+ inttostr(i)].HorizontalAlignment := xlcenter;


//Insertamos todos los registros al excel  y en dbgrid 1
  with DataModule_financiero.query_fondos_fijos_reponibles do
    begin
    first;
    contar:=0;
      while not EOF Do
        begin
        i:=i+1;
        contar:=contar+1;
         
            Hoja.Range['A'+ inttostr(i),'A'+ inttostr(i)].Font.Bold:=true;
            Hoja.Cells.Item[i,1]:='Caso No. ' +inttostr(contar)+ ', ';
            Hoja.Cells.Item[i,2]:=DBGrid1.Fields[8].AsString;

//Aqui necesito unir las dos celdas, y que lo que esté en Hoja.Cells.Item[i,1] salga negrita y lo que esté en Hoja.Cells.Item[i,2] salga normal


        Next;

   end;//while
end;//with

ShowMessage('Exportado con Exito!');

Excel.Visible[0] := true;

end;

Espero haberme explicado bien.

Cualquier inquietud o duda me dejan saber.

Saludos y Dios les bendiga a todos.
__________________
Cristo te ama, ven a d él, ya k te espera con los brazos abiertos. Dios te bendiga mucho
Responder Con Cita
  #2  
Antiguo 28-03-2016
Avatar de roman
roman roman is offline
Moderador
 
Registrado: may 2003
Ubicación: Ciudad de México
Posts: 20.269
Poder: 10
roman Es un diamante en brutoroman Es un diamante en brutoroman Es un diamante en bruto
Código Delphi [-]
var
  Excel, Libro, Hoja: OleVariant;

begin
  Excel := ComObj.CreateOleObject('Excel.Application');
  Excel.DisplayAlerts := false;
  Libro := Excel.WorkBooks.Add();
  Hoja := Libro.ActiveSheet;
  Hoja.Cells[1, 1] := 'Caso No 1: Este es un comentario';
  Excel.ActiveCell.Characters(1, 9).Font.FontStyle := 'Negrita';
  Excel.Visible := true;
end;

LineComment Saludos
Responder Con Cita
  #3  
Antiguo 28-03-2016
Avatar de jeremiselxi
jeremiselxi jeremiselxi is offline
Miembro
 
Registrado: ago 2008
Posts: 199
Poder: 16
jeremiselxi Va por buen camino


Solamente puedo decir que excelente hermano.

Muchisimas Gracias.

Saludos desde Republica Dominicana.
__________________
Cristo te ama, ven a d él, ya k te espera con los brazos abiertos. Dios te bendiga mucho
Responder Con Cita
  #4  
Antiguo 28-03-2016
Avatar de jeremiselxi
jeremiselxi jeremiselxi is offline
Miembro
 
Registrado: ago 2008
Posts: 199
Poder: 16
jeremiselxi Va por buen camino
Buenas tardes.

Realicé los ajustes de lugar para poder aplicarlo con el componente que utilizo el cual es: "TExcelApplication. ".

Adjunto el código que utilice para mostrar unos comentarios de una base de datos en el formato con que inicié mi pregunta.

Código Delphi [-]
procedure TForm_Fondos_fijos_reponibles.Button1Click(Sender: TObject);
var
 Start, Length: OleVariant;
  Libro : _WORKBOOK;
  Hoja  : _WORKSHEET;
 contar, i,colora:Integer;
Hojainicio:integer;
begin

ShowMessage('Espere un momento');
Libro := Excel.Workbooks.Add(Null, 0);
Hoja  := Libro.Sheets[1] as _WORKSHEET;


i:=0;


//Los comentarios
i:=i+3;
Hoja.Cells.Item[i,1]:='Comentarios Para el Informe.';

//Insertamos todos los registros al excel  y en dbgrid 1
  with DataModule_financiero.query_fondos_fijos_reponibles do
    begin
    first;
    contar:=0;
      while not EOF Do
        begin
        i:=i+1;
        contar:=contar+1;
        Hoja.Cells.Item[i,1]:='Caso No. ' +inttostr(contar)+ ', ' + DBGrid1.Fields[8].AsString;
        Hoja.Range['A'+ inttostr(i),'A'+ inttostr(i)].select;

        //Ponemos en negrita los 11 primeros caracteres
        Start := 1;
        Length := 11;
        Excel.ActiveCell.Characters[Start, Length].Font.FontStyle := 'Bold';

      Next;
   end;//while
end;//with

        Form_esperar.ProgressBar1.Position:= 0;
        Form_esperar.hide;

ShowMessage('Exportado con Exito!');

Excel.Visible[0] := true;

end;


y en resumen, el código utilizado para realizar poner los 11 primeros caracteres en negrita es:

Código Delphi [-]
        //Ponemos en negrita los 11 primeros caracteres
        Start := 1;
        Length := 11;
        Excel.ActiveCell.Characters[Start, Length].Font.FontStyle := 'Bold';

Ya que si utilizo el código

Código Delphi [-]
Excel.ActiveCell.Characters(1, 9).Font.FontStyle := 'Negrita';

Me da error en los paréntesis.

Muchas Gracias Roman porque sin ti no lo hubiera podido hacer.

Te debo una.
__________________
Cristo te ama, ven a d él, ya k te espera con los brazos abiertos. Dios te bendiga mucho
Responder Con Cita
  #5  
Antiguo 28-03-2016
Avatar de roman
roman roman is offline
Moderador
 
Registrado: may 2003
Ubicación: Ciudad de México
Posts: 20.269
Poder: 10
roman Es un diamante en brutoroman Es un diamante en brutoroman Es un diamante en bruto
Cita:
Empezado por jeremiselxi Ver Mensaje
Muchas Gracias Roman porque sin ti no lo hubiera podido hacer.
No hay de qué. En realidad, muchas de las cosas que se pueden hacer con Excel, pueden averiguarse usando los macros de Excel: grabas un macro realizando los pasos necesarios para llevar a cabo la tarea en cuestión y luego revisas el código fuente del macro y te las ingenias para traducir el código VB a Delphi.

Esto fue lo que hice al ver tu pregunta

LineComment Saludos
Responder Con Cita
  #6  
Antiguo 29-03-2016
Avatar de jeremiselxi
jeremiselxi jeremiselxi is offline
Miembro
 
Registrado: ago 2008
Posts: 199
Poder: 16
jeremiselxi Va por buen camino
Thumbs up

Cita:
Empezado por roman Ver Mensaje
No hay de qué. En realidad, muchas de las cosas que se pueden hacer con Excel, pueden averiguarse usando los macros de Excel: grabas un macro realizando los pasos necesarios para llevar a cabo la tarea en cuestión y luego revisas el código fuente del macro y te las ingenias para traducir el código VB a Delphi.

Esto fue lo que hice al ver tu pregunta

LineComment Saludos
Esta expresión que haré ahora se usa mucho en nuestro país, así que ahí va:

Waaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaawwwwwwwwwwwwwwwwwwwwwwwwwwwwww que gran idea.

Creo que me has dado muchas ideas de cosas que aun debo aprender.

Se te agradece mucho hermano.

Saludos.
__________________
Cristo te ama, ven a d él, ya k te espera con los brazos abiertos. Dios te bendiga mucho
Responder Con Cita
  #7  
Antiguo 30-03-2016
jgutti jgutti is offline
Miembro
 
Registrado: may 2003
Posts: 189
Poder: 21
jgutti Va por buen camino
permite exportar a excel 2010 o superior
con Excel := ComObj.CreateOleObject('Excel.Application'); solo puedo exportar de excel 2000 hasta excel 2007

saludos
Responder Con Cita
Respuesta


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
TDBGrid, pintar/negrita texto celda parcial AgustinOrtu OOP 5 12-12-2015 20:59:57
Cadena normal + cadena en negrita Panasys OOP 3 20-08-2013 00:08:33
Exportar a Excel, formato de Celda oscarac Varios 1 20-05-2011 10:55:22
Bloquear una celda al exportar a excel iktwo Varios 1 27-01-2011 06:13:46
poner en negrita una parte de un pplabel ingmichel Internet 0 26-11-2009 22:46:44


La franja horaria es GMT +2. Ahora son las 18:57:30.


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
Copyright 1996-2007 Club Delphi