Necesito importar datos de una hoja de excel a un programa que estamos desarrollendo en delphin, ya se como hacerlo al reves (bajar datos de delphin a un planilla de excel)
1 respuesta
Respuesta de gaunmanuel
1
1
gaunmanuel, Desarrollador de sistemas, delphi, SQL Interbase, Oracle
Haber aqui te envio un ejemplo, checalo, es con esos componentes de delphi que dices de la pestaña Server. UNIT TryAccessingXL; Interface Uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, Excel2000, OleServer, StdCtrls, ComObj, AccessExcelSpecific; //Unit for basic Functions and Procedures unique to this application. type TAccess_Excel = class(TForm) MyXLApplication: TExcelApplication; // MyXLWorkbook: TExcelWorkbook; // MyXLWorksheet: TExcelWorksheet; btnOpenXL: TButton; btnCloseXL: TButton; procedure OpenXLFile(Sender: TObject); procedure btnOpenTickersClick(Sender: TObject); procedure btnReadCloseClick(Sender: TObject); procedure CloseProgram(Sender: TObject); private { Private declarations } public { Public declarations } end; var LCID,Rowe,Colmn : integer; ticker_symbol, close_data, close_price, close_date, close_volume : string; Access_Excel: TAccess_Excel; ATryoutFile : TextFile; MyXLWorkbook,MyXLWorksheet,RawData : OleVariant; ArrayOfClose,SortedArrayOfClose : variant; implementation {$R *.dfm} procedure TAccess_Excel.OpenXLFile(Sender: TObject); Begin MyXLApplication.Connect; MyXLWorkbook.ConnectTo(MyXLApplication.ActiveWorkbook); MyXLWorksheet.ConnectTo(MyXLApplication.ActiveSheet as _Worksheet); MyXLWorksheet.ConnectTo(MyXLApplication.Worksheets.Item['RawData'] as _Worksheet); MyXLWorkbook := MyXLApplication.Workbooks.Open('C:\AccessingXL\8.5 TEST TryOut.xls', EmptyParam,EmptyParam,EmptyParam, EmptyParam, EmptyParam,EmptyParam, EmptyParam,EmptyParam,EmptyParam, EmptyParam,EmptyParam,EmptyParam,0); MyXLWorksheet := MyXLWorkbook.Worksheets.Item['RawData']; MyXLWorksheet.Activate; MyXLWorksheet.Cells.SpecialCells(xlCellTypeLastCell,EmptyParam).Activate; // Get last row value Rowe := MyXLApplication.ActiveCell.Row; // Get rightmost column value Colmn := MyXLApplication.ActiveCell.Column; End; //procedure TAccess_Excel.OpenXLFile . . . . END.
Bueno para hacer esto, ya sea que lo hagas con delphi o directamente del manejador de base de datos que estes usando si es que este te lo permite. Ahora si se requiere hacerlo en codigo delphi, entonces tendras que buscar un componente llamada XSLReadWriteII es el que yo uso, no se como lo consiguieron pero como esta empresa es muy grande, estos componentes se compran, buscalo en internet aun asi no creo que este caro. Su precio es muy accesible, este componente te genera de manera muy facil archivos de excel y tambien puede leerte muy facil archivos excel. Porque de otra manera te meterias con objetos com pero creo que segun las versiones que tengas de excel este podria darte problemas.
uso delphi 7 y tiene componentes que conectan al delphi con el excel y necesitava ejemplos de como realizar esta tarea Gracias
ya logramos realizarlo gracias me pasaron este ejemplo http://community.borland.com/article/0,1410,10126,00.html