Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Servers
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 16-01-2012
Avatar de jejo1984
jejo1984 jejo1984 is offline
Miembro
NULL
 
Registrado: jun 2011
Posts: 39
Poder: 0
jejo1984 Va por buen camino
Hola de nuevo alguien que me pueda decir en que estoy errando no quiero usar otro componente por que la verdad se que se puedo hacer lo que quiero yo
Responder Con Cita
  #2  
Antiguo 16-01-2012
Avatar de roman
roman roman is offline
Moderador
 
Registrado: may 2003
Ubicación: Ciudad de México
Posts: 20.269
Poder: 10
roman Es un diamante en brutoroman Es un diamante en brutoroman Es un diamante en bruto
Quizá no seas tú quien yerre sino Lázarus o FP. Un código similar al que pones corre sin problemas en Delphi, pero parece que FPC no acepta que los índices sean cadenas de caracteres.

El primer error podrías solventarlo usando un índice numérico en lugar del nombre para obtener una referencia al libro:

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

El segundo error no veo como pues no habría un equivalente numérico al índice 'A1'. Pero puedes intentar poniendo:

Código Delphi [-]
var
  Celda: OleVariant;
  ...

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

Digo, no sé si funcione, pero nada se pierde con intentar.

// Saludos
Responder Con Cita
  #3  
Antiguo 16-01-2012
Avatar de jejo1984
jejo1984 jejo1984 is offline
Miembro
NULL
 
Registrado: jun 2011
Posts: 39
Poder: 0
jejo1984 Va por buen camino
Roman usted si que es bueno =)
ahora me aparece un error en esta línea:
Código Delphi [-]
var
 Excel,celda,Sheet: OLEVariant;
 CantRow, CantCol, i, j : Integer;
 RangoMatriz,FileName: Variant;
 //FileName:String;

begin
  FileName:='C:\SISTEMAPLANILLAS\Libro2.xlsx';
  try
  Excel := CreateOleObject('Excel.Application');
  Excel.Workbooks.Open(FileName);
  ShowMessage(FileName);
  Sheet := Excel.Workbooks[1].WorkSheets[1];

y marca este error:
Código Delphi [-]
Invalid argumentispatch
__________________
No lleves tus conocimiento a la tumba, Enseña a otros lo que sabes...
Responder Con Cita
  #4  
Antiguo 16-01-2012
Avatar de jejo1984
jejo1984 jejo1984 is offline
Miembro
NULL
 
Registrado: jun 2011
Posts: 39
Poder: 0
jejo1984 Va por buen camino
El error dice:
Invalid argument: Dispatch
y señala a esta línea:
Sheet := Excel.Workbooks[1].WorkSheets[1];
__________________
No lleves tus conocimiento a la tumba, Enseña a otros lo que sabes...
Responder Con Cita
  #5  
Antiguo 17-01-2012
Avatar de roman
roman roman is offline
Moderador
 
Registrado: may 2003
Ubicación: Ciudad de México
Posts: 20.269
Poder: 10
roman Es un diamante en brutoroman Es un diamante en brutoroman Es un diamante en bruto
Hola,

Tal parece que esto es una falla de FPC. En este mismo enlace mencionan que el problema se ha resuelto con versiones posteriores, pero parece que no es tan sencillo hacer que la última versión estable de Lázarus trabaje con otra versión de FPC que no sea la 2.4.x. Sin embargo, ahí mismo menciona una versión "snapshot" de Lázarus que utiliza la versión 2.5.1 de FPC.

Instalando esa, he podido ejecutar correctamente un código similar:

Código Delphi [-]
const
  xlCellTypeLastCell = $0000000B;

var
  Excel, Hoja, Rango: OleVariant;
  NumFilas, NumColumnas: Integer;

begin
  Excel := CreateOleObject('Excel.Application');

  try
    Excel.Workbooks.Open('c:\ruta\al\archivo.xlsx');
    Hoja := Excel.Workbooks[1].Worksheets[1];
    Hoja.Cells.SpecialCells(xlCellTypeLastCell, EmptyParam).Activate;
    NumFilas := Excel.ActiveCell.Row;
    NumColumnas := Excel.ActiveCell.Column;
    Rango := Excel.Range['A1', Excel.Cells.Item[NumFilas, NumColumnas]].Value;

    Showmessage(Rango[1, 1]);
  finally
    Excel.Quit;
  end;
end;

// Saludos
Responder Con Cita
Respuesta



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 16:23:23.


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