Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

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

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 15-01-2004
User_Baja_2 User_Baja_2 is offline
Miembro
 
Registrado: may 2003
Posts: 126
Poder: 21
User_Baja_2 Va por buen camino
Como pasar de EXCEL A PARADOX

Hola tngo un fichero en EXCEL con el contenido de unos productos con sus correspondientes precios y quisiera hacer un traspaso de estos datos a una tabla de paradox (*.db). ¿Alguien conoce el modo o manera de poder realizar ste traspaso?
Responder Con Cita
  #2  
Antiguo 15-01-2004
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
La forma más sencilla es abrir el archivo en Excel y guardarlo como archivo de Paradox.

Pero si lo quieres hacer mediante un programa tienes dos opciones (entre otras seguramente). Usar las componentes de Office (en la paleta Servers) para conectarte a una hoja de Excel de donde puedes con un ciclo copiar los valores de las celdas a una tabala paradox que previamente crees con la estructura adecuada.

Un ejemplo para esto:

Código:
var
Libro: _WORKBOOK;
Hoja: _WORKSHEET;
 
begin
Libro := Excel.Workbooks.Open(
	'tuarchivo.xls',
	false,
	false,
	null,
	'',
	null,
	true,
	null,
	'',
	true,
	null,
	null,
	false,
	0
);
Hoja := Libro.Sheets[1] as _WORKSHEET;
Excel.Visible[0] := true;
donde Excel es una componente de tipo TExcelApplication.

Y accedes a las celdas con

Hoja.Cells.Item[Row, Column] (índices están basados en 1)

Así, suponiendo que tu archivo tiene dos columnas (producto y precio) te creas una tabla paradox con las correspondientes columnas y usas una componente Table conectada a ella para copiar la hoja de Excel con un ciclo:

Código:
for Row := 1 to MaxRow do
begin
  Table.Append;
  Table['producto'] := Hoja.Cells.Item[Row, 1];
  Table['precio'] := Hoja.Cells.Item[Row, 2];
  Table.Post;
end;
La otra opción es usar ADO que te permite conectarte a una hoja de Excel como si fuera una tabla en una base de datos. En este enlace puedes encontrar un ejemplo de conección con ADO y cómo copiar con un ciclo de la tabla ADO a la tabla Paradox.

// Saludos

Última edición por roman fecha: 15-01-2004 a las 02:39:25. Razón: Algunos errorcillos
Responder Con Cita
  #3  
Antiguo 21-01-2004
Avatar de sitrico
[sitrico] sitrico is offline
Miembro Premium
 
Registrado: may 2003
Ubicación: Caracas, Venezuela
Posts: 295
Poder: 21
sitrico Va por buen camino
Estoy tratando de pasar una tabla de excel a paradox usando el método de ADO pero el archivo excel lo creo con el componente tDataToXLS de tExpSuit (delphi.com.ar) me aparece el error:

"External table is not in the expected format"

ó

"Could not find installable ISAM"

(ademas cuando selecciono el archivo me sugiere *.mdb no *.xls) creo que parte del error es la utilizacion de "Excel 8.0" ya que la tabla que crea expSuit es formato 2.0 o algo así (no tiene varias hojas) el connection string es:

Código:
Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\Mis documentos\Arancel del Usuario.xls;Extended Properties=Excel 2.0;Persist Security Info=False
Intenté con Excel 2.0 y me aparece el segundo error con otros valores aparece el primero (al correr la aplicacion y al tratar de seleccionar el CommandText

Alguien puede ayudarme


Gracias
__________________
Sitrico
Responder Con Cita
  #4  
Antiguo 21-01-2004
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
¿Qué versión de Excel tienes?
¿Has intentado abrir el archivo que genera tDataToXLS directamente en Excel?
¿Qué pasa si lo abres en Excely lo guardas con la versión que tienes?

// Saludos

pd: Por favor edita tu mensaje para partir en dos líneas la cadena de provider para que puedan visualizarse los mensajes sin tener que recorrer horizontalmente la pantalla.
Responder Con Cita
  #5  
Antiguo 21-01-2004
Avatar de sitrico
[sitrico] sitrico is offline
Miembro Premium
 
Registrado: may 2003
Ubicación: Caracas, Venezuela
Posts: 295
Poder: 21
sitrico Va por buen camino
Tengo Excel 2000 (9.0.2812), pero el problema es que el archivo que genera TDataToXls es Excel 2.1.

Mientras respondías baje un ejemplo de:

http://community.borland.com/article...,20066,00.html

Que funciona perfecto con la hoja de ejemplo (forecast.xls) pero si trato de conectarlo a mi hoja me aparecen toda clase de errores (sobre todo en el select * from 'nombre hoja'), también traté de abrir el archivo en excel y guardarlo con el formato nuevo y sucede lo mismo.

Lo cierto es que no ayuda mucho tener que explicarle al usuario que debe "actualizaar la versión del archivo exportado porque el mismo programa que lo exportó no lo puede importar" eso no se lo deseo a nadie :-) Tal vez intente con otro formato (no xls).
__________________
Sitrico
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


La franja horaria es GMT +2. Ahora son las 09:56:16.


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