Club Delphi  
    Paypal   FTP   CCD     Buscar   Trucos   Trabajo   Foros

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

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 09-01-2012
Avatar de jejo1984
jejo1984 jejo1984 is offline
Miembro
NULL
 
Registrado: jun 2011
Posts: 39
Poder: 0
jejo1984 Va por buen camino
Post Importar archivo excel a un stringgrid LAZARUS IDE

Hola que tal amigos espero que me puedan ayudar con lo siguiente:
Bueno quiero abrir un archivo excel en un stringgrid con Lazarus IDE encontre algo similar en este foro pero me marca un error les enseño el codigo:

Código Delphi [-]
unit cf_acceso;

{$mode objfpc}{$H+}

interface

uses
  Classes, SysUtils, FileUtil, Forms, Controls, Graphics, Dialogs, Grids,
  Buttons,comobj,variants;
........
procedure TForm1.BitBtn1Click(Sender: TObject);
const
  xlCellTypeLastCell = $0000000B;
var
 Excel, Sheet,Book: OLEVariant;
 CantRow, CantCol, i, j : Integer;
 RangoMatriz: Variant;
 FileName:String;

begin
  FileName:='C:\SISTEMAPLANILLAS\Libro2.xlsx';
  try
  Excel := CreateOleObject('Excel.Application');
  Excel.Workbooks.Open(FileName);
  ShowMessage(FileName);
  Sheet := Excel.Workbooks[ExtractFileName(FileName)].WorkSheets[1];
  Sheet.Cells.SpecialCells(xlCellTypeLastCell, EmptyParam).Activate;

  CantRow := Excel.ActiveCell.Row;
  CantCol := Excel.ActiveCell.Column;

  RangoMatriz := Excel.Range['A1',Excel.Cells.Item[CantRow,CantCol]].Value;

  for i:=1 to CantRow do
   begin
    for j:=1 to CantCol do
     begin
      Showmessage(RangoMatriz[i,j]);
      //haces todo lo que necesites hacer
     end;
   end;//for
   finally
   Excel.Quit; //Aquí cerramos la hoja de Excel
   end;
end;

Bien es en estas líneas de codigo en las que me aparece el error:

Código Delphi [-]
Sheet := Excel.Workbooks[ExtractFileName(FileName)].WorkSheets[1];

Error: Incompatible types: got "AnsiString" expected "LongInt"

Código Delphi [-]
Sheet.Cells.SpecialCells(xlCellTypeLastCell, EmptyParam).Activate;
RangoMatriz := Excel.Range['A1',Excel.Cells.Item[CantRow,CantCol]].Value;

Error: Incompatible types: got "Constant String" expected "LongInt"



Bueno intente esto:

Código Delphi [-]
Sheet := Excel.Workbooks[StrToInt(ExtractFileName(FileName))].WorkSheets[1];
Sheet.Cells.SpecialCells(xlCellTypeLastCell, EmptyParam).Activate; 
RangoMatriz:=Excel.Range[StrToInt('A1'),Excel.Cells.Item[CantRow,CantCol]].Value;

Ejecuta normal pero al dar click en el boton aparece el mensaje:
El proyecto a lanzado una excepcion 'EOLeExceptionEOLeException' con el mensaje:
no se encontro "??????x.xlsx" Comprube ortografia y verificar si la ubicación es correcta.

La ruta es totalmente correcta pero no se lo que pasa por favor si me pueden ayudar con esto.
Gracias

Última edición por roman fecha: 10-01-2012 a las 00:18:02. Razón: Corregir etiquetas [delphi]
Responder Con Cita
  #2  
Antiguo 09-01-2012
Avatar de Casimiro Noteví
Casimiro Noteví Casimiro Noteví is offline
Merodeador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.669
Poder: 10
Casimiro Noteví Tiene un aura espectacularCasimiro Noteví Tiene un aura espectacular
Bienvenido a clubdelphi, ¿ya leiste nuestra guía de estilo?, gracias por tu colaboración.

Responder Con Cita
  #3  
Antiguo 10-01-2012
Avatar de jejo1984
jejo1984 jejo1984 is offline
Miembro
NULL
 
Registrado: jun 2011
Posts: 39
Poder: 0
jejo1984 Va por buen camino
Ok Casimiro ya esta dame una sugerencia pues en que estoy fallando estoy usando Lazarus IDE
Responder Con Cita
  #4  
Antiguo 10-01-2012
Avatar de Casimiro Noteví
Casimiro Noteví Casimiro Noteví is offline
Merodeador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.669
Poder: 10
Casimiro Noteví Tiene un aura espectacularCasimiro Noteví Tiene un aura espectacular
Mira si te sirve alguno de los enlaces de abajo de esta página, justo al final.
Responder Con Cita
  #5  
Antiguo 10-01-2012
Avatar de jejo1984
jejo1984 jejo1984 is offline
Miembro
NULL
 
Registrado: jun 2011
Posts: 39
Poder: 0
jejo1984 Va por buen camino
Lo estoy trabajando en lazarus IDE - windows xp y solo aparece esos errores y la verdad no logro solucionarlo =(
Responder Con Cita
  #6  
Antiguo 10-01-2012
Avatar de Casimiro Noteví
Casimiro Noteví Casimiro Noteví is offline
Merodeador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.669
Poder: 10
Casimiro Noteví Tiene un aura espectacularCasimiro Noteví Tiene un aura espectacular
Cita:
no se encontro "??????x.xlsx" Comprube ortografia y verificar si la ubicación es correcta.
Puede que la ruta que le has indicado no sea tan correcta.
Responder Con Cita
  #7  
Antiguo 10-01-2012
Avatar de jejo1984
jejo1984 jejo1984 is offline
Miembro
NULL
 
Registrado: jun 2011
Posts: 39
Poder: 0
jejo1984 Va por buen camino
La ruta es correcta la comprobe creo que el error marca por que le puse esto:
Código Delphi [-]
StrToInt(ExtractFileName(FileName))
Pero si quito StrToInt me marca lo siguiente:
Código Delphi [-]
Error: Incompatible types: got "AnsiString" expected "LongInt"
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
importar datos de excel a firebird Choclito Varios 6 06-02-2007 02:26:10
como importar informacion a mi base de datos desde un disket ibbeth Firebird e Interbase 13 20-01-2007 10:18:38
Importar desde Excel Lucas_diaz1810 Conexión con bases de datos 5 03-11-2006 18:15:26
Importar desde Excel LucasArgentino SQL 1 24-12-2003 17:33:26
importar datos de excel a mi aplicacion squenda Varios 2 11-12-2003 03:33:32


La franja horaria es GMT +2. Ahora son las 11:28:21.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi