PDA

View Full Version : سوال: اینپورت فایل ایکسل و مقایسه آن با داده های یک جدول؟



nilidelphi
سه شنبه 03 اردیبهشت 1392, 09:28 صبح
با سلام خدمت دوستان.

عزیزان من میخوام داده های موجود در یک فایل ایکسل رو ایمپورت کرده و با یک دیتاست مقایسه کنم
مثلا فرض کنیم یک لیست 4 فیلدی در ایکسل داریم و میخواهیم این فایل ایکسل را در برنامه اینپورت کنیم و رکورد های موجود را با داده های موجود در یک دیتاست مقایسه کنم.

حالا میخوام بدونم چطور میشه یه فایل ایکسل رو اینپورت کرده و داده های آن را تشخیص داده و عملیات خودم رو روش انجام بدم

بسیار متشکرم

BORHAN TEC
سه شنبه 03 اردیبهشت 1392, 22:26 عصر
سلام
کامپوننتها و روشهای مختلفی برای کار با فایلهای اکسل وجود دارد که تعداد آنها واقعاً زیاد است. یک روش برای Import یک فایل اکسل استفاده از کامپوننت TAdvGridExcelIO موجود در مجموعه کامپوننت های TMS می باشد. که یک نمونه کد را برای استفاده قرار داده ام.
procedure TForm2.Button1Click(Sender: TObject);
var
colIdx, rowIdx: Integer;
J: Integer;
myAdvStringGrid: TAdvStringGrid;
begin
myAdvStringGrid := TAdvStringGrid.Create(Self);
try
myAdvStringGrid.ParentWindow := Application.Handle;
with AdvGridExcelIO1 do
begin

AdvStringGrid := myAdvStringGrid;

XLSImport(
'C:\ABCCompany.xls' { , SheetName } );

with AdvStringGrid do
begin
for colIdx := 0 to AdvStringGrid.ColCount do
for rowIdx := 0 to AdvStringGrid.RowCount do
begin
Memo1.Lines.Add(
Format('Cell[%d,%d] = %s',[colIdx, rowIdx, Cells[colIdx, rowIdx]])
);
end;
end;
end;
finally
myAdvStringGrid.Free;
end;
end;
موفق باشید...

samani
سه شنبه 03 اردیبهشت 1392, 23:41 عصر
ميتونيد از يك AdoDataset نيز براي اين كار استفاده كنيد

مثال:

q := TADODataSet.Create(nil);
try
q.ConnectionString := 'Provider=Microsoft.Jet.OLEDB.4.0;Data Source=c:\test.xls;Extended Properties=Excel 8.0;Persist Security Info=False';
q.CommandType := cmdTableDirect;
q.CommandText := 'Sheet1$';
q.Open;

//do something
finally
q.Free;
end;

nilidelphi
پنج شنبه 05 اردیبهشت 1392, 12:19 عصر
دوست عزیز Object Pascal (http://barnamenevis.org/member.php?75214-Object-Pascal) گرامی
من سری کامپوننت های تی ام اس را دارم و TAdvGridExcelIOرا نیز استفاده میکنم ولیییییییی
روش استفاده از این کامپوننت را نمیدانم
لطف میکنی روش استفاده یا یه دمو ازش بزاری برام که کامل بتونم ازش استفاده کنم؟

BORHAN TEC
پنج شنبه 05 اردیبهشت 1392, 12:27 عصر
سلام

لطف میکنی روش استفاده یا یه دمو ازش بزاری برام که کامل بتونم ازش استفاده کنم؟
پس اون کدی که قرار دادم چیه ؟ :چشمک:

hassanjj
سه شنبه 10 اردیبهشت 1392, 14:05 عصر
سلام
از ComObj هم میتونی استفاده کنی و همه چیز در اختیار خودتونه در کنترل ورودی و خروجی اکسل و سایر عملیاتها
نمونه های زیادی هم داره