RE:Leer Archivo excel
Publicado por
Mary (1 intervención) el 22/10/2009 22:00:45
Buenas Tardes, tengo una duda :S estoy pasando unos datos de excel a un archivo txt, cuando todas las lineas estan llenas genera el archivo bien, pero cuando empieza con lineas vacias o tiene lineas vacias entre datos, no copia nada, en mi caso cuando empieza vacio no copia nada, y cuando tiene lineas de por medio solo escribe las 3 primeras columnas :( Ayuda Por favor.. Soy Nueva en esto.
procedure TPrincipalForm.BitBotonIniciarClick(Sender: TObject);
var
appExcel : Variant;
i, j, k : integer;
contenido,resultado : String;
x : string;
numCampos : integer;
numFilas : integer;
begin
if (FileListBox.ItemIndex >= 0) then
begin
appExcel := CreateOleObject('Excel.Application');
appExcel.WorkBooks.Open(FileListBox.FileName);
numFilas := appExcel.ActiveCell.Row;
numCampos := appExcel.ActiveCell.Column;
for i := 2 to (numFilas) do
begin
contenido := '';
for j := 1 to numCampos do
begin
x := appExcel.WorkBooks[1].Worksheets[1].Cells[i, j];
if (x<>'') then
begin
If ((x='Femenino') or (x='Obrero')or(x='Egresado') or (x='Obrera')or(x='Egresada')) then
begin
x:='2';
end;
If ((x='Masculino') or (x='Empleado')or(x='Ingresado') or (x='Empleada')or(x='Ingresada')) then
begin
x:='1';
end;
if ((j=6) or (j=8) or (j=11)) then
begin
resultado:=EliminarCaracteres(x);
x:=resultado;
end;
contenido := contenido + x;
if (j <> numCampos) then
contenido := contenido + ';';
end;
end;
Cls_Utilidades.CrearArchivoTexto(DirectoryListBox.Directory+'\ArchivoNomina'+Cls_Utilidades.DameFechaSin(Now())+'.txt',contenido);
end;
appExcel.Quit;
appExcel := Unassigned;
Application.MessageBox('Archivo Generado Satisfactoriamente','Atención', MB_ICONINFORMATION);
end
else
Application.MessageBox('Debe seleccionar el Archivo de Excel','Atención', MB_ICONINFORMATION);
end;