Array
(
)

Importar dados de uma planilha excel

Silviomorelo
   - 06 dez 2005

Colegas,

Estou tentando desenvolver uma aplicação aonde o sistema vai ler uma planilha em Excel e mostrar no Form o conteúdo. Se as informações estiverem corretas imprime uma Nota Fiscal.

Pergunto:

Como faço para o Delphi ler a planilha Excel?
Como faço para imprimir uma NF em impressora matricial?
Alguém tem algum exemplo?

Agradeço a ajuda de todos.


Nasguone
   - 09 dez 2005

Bem eu fiz a mesma pergunta e como não obtive resposta corri atraz do preju e consegui algo...segue a rotina que criei para ler o arquivo do excel:

Procedure TForm1.Button1Click(Sender: TObject);
var
arq: TextFile;
linha, teste,teste2 : string;

begin
AssignFile(arq, edarq.Text);
Reset ( arq );
while not Eof (arq) do
begin
ReadLn ( arq, linha );
teste := trim(copy (linha,1,2));
teste2 := trim(copy (linha,4,10));
cdteste.Params[0].AsString := teste;
cdteste.Params[1].AsString := teste2;
cdteste.Execute;
RadioGroup1.Items.Add(teste);
RadioGroup2.Items.Add(teste2);

end;
end;

onde : edarq e um edit / cdteste - cliente data set / radiogroup e quem recebe os dados da planilha do excel alem de gravar no banco.
No seu caso apenas coloque um memo da na mesma
Quanto a matricial use esta rotina:

procedure TForm1.FormShow(Sender: TObject);
var I : Integer;
begin
ComboBox1.Items.Clear;
For I:= 1 to Printer.Printers.Count do
Begin
if Pos(´LPT´, printer.Printers.Strings[I-1]) > 0Then
ComboBox1.Items.Add(´LPT1´)
Else if Pos(´\\´, printer.Printers.Strings[I-1]) > 0 Then
ComboBox1.Items.Add(Copy(printer.Printers.Strings[I-1],
Pos(´\\´, printer.Printers.Strings[I-1]),
length(printer.Printers.Strings[I-1]) -
Pos(´\\´, printer.Printers.Strings[I-1]) + 1));
End;
End;
// e quando apertar o botao imprimir, o evento pega qual a impressora
// que você escolheu atravéz do ComboBox e Imprimi.
procedure TForm1.btImprimirClick(Sender: TObject);
var I:Integer;
Arquivo : TextFile;
begin
AssignFile(Arquivo,ComboBox1.Value);
Rewrite(Arquivo);
WriteLn(Arquivo, ´TESTE DE IMPRESSAO - 1´);
WriteLn(Arquivo, ´TESTE DE IMPRESSAO - 2´);
WriteLn(Arquivo, ´TESTE DE IMPRESSAO - 3´);
WriteLn(Arquivo, ´TESTE DE IMPRESSAO - 4´);
CloseFile(Arquivo);
end;


Espero que este te ajude....