Exportar para Open Office

188 views
Skip to first unread message

Rene Melo

unread,
Mar 4, 2010, 12:40:56 PM3/4/10
to DUG-RS - Delphi Users Group Rio Grande do Sul
Pessoal

alguem tem alguma rotina ou componente que exporte para Excel e Open Office ?

--
Renê Eduardo Mesquita Melo
Royalsoft tecnologias e sistemas
www.royalsoft.com.br

Diego Campos Rosa

unread,
Mar 4, 2010, 12:53:53 PM3/4/10
to dug...@googlegroups.com
Renê,


Nele você pode procurar a unit UHojaCalc ela tem funções para manipular o Open Office, mas também serve para o Excell. Mas lê todo o post que tem bastante informação.


Atenciosamente,
Diego Campos Rosa
diego.ca...@gmail.com
Analista de Sistemas, desenvolvedor e consultor da Aquasoft TI (http://www.aquasoft.com.br), parceira Embarcadero no Rio Grande do Sul, onde está atualmente alocado no Grupo Sabemi em Porto Alegre/RS. Também e membro ativo do DUG-RS (http://dug-rs.blogspot.com).
________________________________________

Public Profile
http://www.linkedin.com/in/diegocamposrosa82
https://twitter.com/diegocamposrosa


--
Você recebeu esta mensagem porque está inscrito no "DUG-RS -
Delphi Users Group Rio Grande do Sul" em Grupos do Google.
Acesse o nosso BLOG em http://www.dug-rs.org e contribua com a comunidade Delphi do Rio Grande do Sul
Para postar neste grupo, envie um e-mail para dug...@googlegroups.com
Para cancelar a sua inscrição neste grupo, envie um e-mail para
dug-rs-un...@googlegroups.com
Para ver mais opções, visite este grupo em
http://groups.google.com.br/group/dug-rs?hl=pt-BR

Rene Melo

unread,
Mar 4, 2010, 12:56:32 PM3/4/10
to dug...@googlegroups.com
Show, obrigado.

Samuel

unread,
Mar 4, 2010, 12:58:10 PM3/4/10
to dug...@googlegroups.com
Boa tarde Renê,

A EMS possui uma VCL que exporta dados para Excell, OpenOffice, Access, DBF, TXT, XML e vários outros formatos.

Esse componente chama-se Advanced Data Export VCL e este mês está sendo vendido com 15% de desconto.

Visite os links abaixo para saber mais sobre o produto:
A grande vantagem dessa VCL é não exigir que o micro tenha instalado o MS-Office ou o OpenOffice para gerar os arquivos (todo o código de geração/formatação está escrito em Delphi e acompanha o produto).

Abraços,

Samuel Natali Junior
NatSam Consultoria Ltda
Fone: (11) 4688-1000
Cel: (11) 8698-6948
www.sqlmanager.com.br
www.natsam.com.br
Conheça as ferramentas da EMS para gerenciamento e administração de bancos de dados
Faça download dos produtos e teste por 30 dias



www.tr7.com.br o seu site de buscas na web


Mané

unread,
Mar 4, 2010, 2:01:07 PM3/4/10
to dug...@googlegroups.com
procedure mtdExportaGridOpenOffice(var Grid: TDBGrid);
var
  vlvDocumento: Variant;
  vlvMinhaPlanilha: Variant;
  vlvMinhaPagina: Variant;
  vlvMinhaCelula: Variant;
  vliColuna01, vliColuna02: integer;
  vlBKMMarcacao: TBookMark;
  vldF: real;
  vlvV: Variant;
begin
  ConnectOpenoffice;

  if IsOpenOfficeConnected then
  begin
    vlvDocumento := StarDesktop.LoadComponentFromURL('private:factory/scalc', '_blank', 0, dummyArray);

    if vlvDocumento.SupportsService('com.sun.star.sheet.SpreadsheetDocument') then
    begin
      vlvMinhaPlanilha := vlvDocumento.getSheets;
      vlvMinhaPagina := vlvMinhaPlanilha.GetByName('Planilha1');

      for vliColuna01 := 0 to Grid.Columns.Count - 1 do
      begin
        vlvMinhaCelula := vlvMinhaPagina.getCellByPosition(vliColuna01, 0);
        vlvMinhaCelula.SetString(WideString(Grid.Columns[vliColuna01].Title.Caption));
      end;

      Grid.DataSource.DataSet.DisableControls;

      vlBKMMarcacao := Grid.DataSource.DataSet.GetBookmark;

      Grid.DataSource.DataSet.first;

      vliColuna02 := 1;

      while not Grid.DataSource.DataSet.EOF do
      begin
        for vliColuna01 := 0 to Grid.Columns.Count - 1 do
        begin
          vlvMinhaCelula := vlvMinhaPagina.getCellByPosition(vliColuna01, vliColuna02);

          try
            vlvV := Grid.DataSource.DataSet.Fieldbyname(TColumn(Grid.Columns[vliColuna01]).Fieldname).Value;
            vldF := Grid.DataSource.DataSet.Fieldbyname(TColumn(Grid.Columns[vliColuna01]).Fieldname).Value;
            if vlvV = vldF then
            begin
              vlvMinhaCelula.SetValue(vlvV);
            end;
          except
            vlvMinhaCelula.SetString(WideString(Grid.DataSource.DataSet.Fieldbyname(TColumn(Grid.Columns[vliColuna01]).Fieldname).AsString));
          end;

        end;
        Grid.DataSource.DataSet.Next;
        inc(vliColuna02);
      end;
      Grid.DataSource.DataSet.GotoBookmark(vlBKMMarcacao);
      Grid.DataSource.DataSet.FreeBookmark(vlBKMMarcacao);
      Grid.DataSource.DataSet.EnableControls;
    end
    else
    begin
      mtdMensagem('O tipo de arquivo criado esta diferente do que foi solicitado, favor verificar.', mtError, [mbOK], 0);
    end;
    DisconnectOpenOffice;
  end;
end;

Newton Michel de Oliveira

unread,
Mar 4, 2010, 2:07:05 PM3/4/10
to dug...@googlegroups.com
Mané,
   Não falta nada?

  ConnectOpenoffice? por exemplo


Newton Michel de Oliveira www.nmooliveira.com.br
Mobile 55 51 92358577

Consultor de TI
Embarcadero Delphi 2009 Programming

Public Profile
http://www.linkedin.com/in/newtongaucho

Group Admin
http://www.dug-rs.org



2010/3/4 Mané <email...@gmail.com>

Mané

unread,
Mar 4, 2010, 2:17:15 PM3/4/10
to dug...@googlegroups.com
Newton, está na Procedure, logo após o begin.

Mané

Mané

unread,
Mar 4, 2010, 2:21:30 PM3/4/10
to dug...@googlegroups.com
Detalhe pessoal, em desenv da uma exceção, mas quando o exe é gerado não.

Mané

Newton Michel de Oliveira

unread,
Mar 4, 2010, 2:22:55 PM3/4/10
to dug...@googlegroups.com
Mané,
   Acho que estou chupando bala, mas não achei a funcção não


Newton Michel de Oliveira www.nmooliveira.com.br
Mobile 55 51 92358577

Consultor de TI
Embarcadero Delphi 2009 Programming

Public Profile
http://www.linkedin.com/in/newtongaucho

Group Admin
http://www.dug-rs.org



Em 4 de março de 2010 16:21, Mané <email...@gmail.com> escreveu:
Detalhe pessoal, em desenv da uma exceção, mas quando o exe é gerado não.


Mané

--

Mané

unread,
Mar 4, 2010, 2:25:28 PM3/4/10
to dug...@googlegroups.com
Newton, vai de novo:
Reply all
Reply to author
Forward
0 new messages