Importar dados de uma planilha OpenOffice (BrOffice)

04/09/2006

0

Saudações gente,
minha dúvida é: como faço para [b:b338b6cd57]importar[/b:b338b6cd57] dados de uma planilha utilizando OpenOffice (BrOffice)?
Eu sei como exportar dados, inclusive já implementei minha aplicação para exportar tanto para o Excel quanto para planilhas OpenOffice mas quanto à importação eu não sei como agir. Quero que a aplicação importe arquivos .xls ou .sxc utilizando este aplicativo (para o caso de máquinas que não possuem licença do MSOffice). Alguém já utilizou alguma função deste tipo? Muito obrigado.


Zooropa

Zooropa

Responder

Post mais votado

23/01/2017

Não poderia ser arquivo .csv? É um formato universal, e acredito que seja o jeito mais facil de realizar essa proeza.




Att!

Mac

Mac
Responder

Mais Posts

23/01/2017

Ismael Liborio

Saudações,
Tenho examente o mesmo problema :/ .
Alguém pode ajudar?
Obrigado.

Cumprimentos
Responder

24/01/2017

Marco Antônio

Pessoal bom dia.
Falando por alto, a unica coisa que precisamos para fazer conexões com fonte de dados externa que nesse caso seria '*.xls' ou '*.csv' ou outra fonte que seja planilha sempre eh o driver ODBC. Na verdade isso vai depender de qual IDE vcs estão usando. Caso seja versões
XE, os drivers ODBC já são nativos e não precisa instalar.
Apartir dae, uma vez com isso configurado agora é atribuir a fonte de dados a Query ou ClientDataSet e ali atraves de um loop percorrer
os dados e ir inserindo na sua base de dados.

Colocar um font que demonstre isso é meio complicado, mas há videos aulas Abertas( gratuitas ) aqui no DevMedia que auxiliam nisso.

Não fui mto objetivo, mas qualquer coisa avisa ae.

Abc.
Responder

27/01/2017

Ismael Liborio

Olá Marco António,
Obrigado pela sua resposta, a ligação ou a conexão é simples, assim como o exportar(tenho um procedimento que exporta a minha Base de Dados em Delphi para 1 calc do OpenOffice), a dificuldade é mesmo importar, mais precisamente saber limites com dados do calc do openoffice para depois criar o Loop e inserir numa StringGrid, só consigo encontrar o limite máximo de linhas e colunas do calc. Segue abaixo o meu problema:

procedure TFormImportar.ButImportarClick(Sender: TObject);
var
vfile,url,teste: string;
mgr,dt,calc,sheets,sheet1,args: Variant;
x,y: integer;
begin
args := VarArrayCreate([0,-1],varVariant);
mgr := CreateOleObject(''com.sun.star.ServiceManager'');
dt := mgr.createInstance(''com.sun.star.frame.Desktop'');
if OpenDialog1.Execute then begin
vfile := OpenDialog1.FileName;

url:= ''file:///''+ vfile;
calc := dt.loadComponentFromURL(url,''_blank'' , 0, args);
sheets := calc.getSheets;
sheet1 := sheets.getByIndex(0);

teste := sheet1.getCellByPosition(2,18).string; //***funciona dá o texto da célula
x:= sheet1.getColumns.count; //limite máximo de colunas no calc, mas o pretendido é o limite que tem dados
y:= sheet1.getrows.count; // limite máximo de linhas no calc, mas o pretendido é o limite que tem dados

//depois de ter os limites de coluna e linha com dados
// criar loop e escrever na grid

end;
end;
Responder

24/06/2022

Dirceu Morais

Salve galera,

Reativando o tópico, rsrsrs.

Gostaria de saber o amigo conseguiu resolver este problema (y:= sheet1.getrows.count; // limite máximo de linhas no calc, mas o pretendido é o limite que tem dados)?
Também estou precisando de pegar o total de linhas preenchidas pelo broffice.
Para importação em excel eu tenho esta função:

Function TForm1.qLinhas(pFile,pPlan : String): Integer;
var
   XLApp, Sheet: Variant;
begin
   XLApp:= CreateOleObject('Excel.Application');
   try
      XLApp.WorkBooks.Open(pFile,0,True);
      Try
         Sheet := XLApp.Workbooks[1].WorkSheets[pPlan];
         Result := Sheet.Cells.SpecialCells(11).Row
      Except
         KDialog('Nome da Guia (ABA) na planilha está errado o correto é: '+pPlan,'Alerta','ERRO');
         Result := 0;
      end;
   finally
      XLApp.Quit
   end
end;


Se alguém souber o comando ou a função que me traga a "quantidade de linhas broffice" ficaremos muitos agradecidos.

Att.

Responder

Assista grátis a nossa aula inaugural

Assitir aula

Saiba por que programar é uma questão de
sobrevivência e como aprender sem riscos

Assistir agora

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar