کار با اکسل در دلفی و استفاده از اکتیوایکس
سلام دوستان
من میخواهم با چند تا فایل اکسل ارتباط بر قرار کنم و از هر کدام از این فایلها اطلاعاتی را بگیرم و پردازش کنم بعد اومدم اکتیو ایکس مربوطه را نصب کردم در دلفی 7 ولی نتونستم از قسمت اکسل آن استفاده کنم یعنی اصلا نتونستم فایلی بهش بدم که بخونه خواهش میکنم مرا راهنمایی کنید
با تشکر
نقل قول: کار با اکسل در دلفی و استفاده از اکتیوایکس
سلام، چرا از كتابخانه ExcelXP استفاده نمي كنيد. كار باهاش خيلي راحته و امكانات زيادي داره.
uses ExcelXP ;
...
var
Xlapp1 : TExcelApplication;
Workbook1 : _Workbook;
Sheet1 : _WorkSheet;
range,data1: Variant;
...
begin
XLApp1:=TExcelApplication.Create(Application);
XLApp1.AutoConnect:=True;
XLApp1.AutoQuit:=True;
Workbook1:= XLApp1.Workbooks.Open('book.xls',null,null,
null,null,null,null,null,null,null,null,null,null, null,null,0);
Sheet1 := XLApp1.WorkSheets.Get_Item( 'Sheet1' ) as _WorkSheet;
Sheet1.Activate(0);
MaxRow := Sheet1.UsedRange[0].Rows.Count;
MaxCol := Sheet1.UsedRange[0].Columns.Count;
range := Sheet1.UsedRange[0];
data1:= range.Value; // All Data in This Range
نقل قول: کار با اکسل در دلفی و استفاده از اکتیوایکس
سلام من این روش استفاده از کتابخانه را متوجه نشدم از همون روش اکتیو ایکس کسی نمیتونه من را کمک کند ؟؟
خواهش میکنم کمک کنید...
نقل قول: کار با اکسل در دلفی و استفاده از اکتیوایکس
میتونی از کامپونت های تب server نیز استفاده کنی
نقل قول: کار با اکسل در دلفی و استفاده از اکتیوایکس
سلام، من كه هر كدي لازم بود واست گذاشتم. فقط كافيه كپي كني و بجاي 'book.xls' مسير فايل مورد نظرت(مثلا 'F:\book1.xls' ) و بجاي 'Sheet1' اسم شيت مورد نظرتو مي ذاري. همه داده ها تو Value ذخيره مي شه و با يه حلقه For مي توني با MaxCol و MaxRow كه بترتيب شماره ستون و رديف ماكزيمم تو فايل اكسل مورد رو مي ده، بهشون دسترسي پيدا كني يا توي يه stringgrid نمايش بدي.
بعد از اجراي تغييرات مورد نظرت مي توني بصورت زير ذخيره و بعد اكسل مربوطه رو ببندي:
for j := 1 to MaxRowl do begin
for j := 1 to MaxCol do begin
data1[i,j] := ....
end
end
...
Sheet1.Range[RefToCell(1, 1), RefToCell(numRow,numCol )].Value2 := data1;
// Save All Data in This Range
Workbook1.Save(0);
XLApp1.Disconnect;
Xlapp1.Free;
اين تابع RefToCell رو هم بايد بنويسي:
function RefToCell(ARow, ACol: Integer): string;
begin
Result := Chr(Ord('A') + ACol - 1) + IntToStr(ARow);
end;
( وقتي اينقدر آسونه، چرا ديگه مي خواي با اكتيو ايكس كار كني ؟! :متفکر: چون موقع نصب برنامت، بايد اكتيو ايكس رو همراش ببري و رجيستر كني.)
نقل قول: کار با اکسل در دلفی و استفاده از اکتیوایکس
سلام این ExcelXP را از کجا می شود تهیه کرد؟
نقل قول: کار با اکسل در دلفی و استفاده از اکتیوایکس
نقل قول:
نوشته شده توسط
Karoun
سلام این ExcelXP را از کجا می شود تهیه کرد؟
به Uses برنامتون عبارت ExcelXP رو اضافه کنید .
نقل قول: کار با اکسل در دلفی و استفاده از اکتیوایکس
تابع RefToCell فقط تا 26 ستون را پشتیبانی میکنه که اینجوری من اصلاحش کردم:
function RefToCell(ARow, ACol: Integer): string;
var col : string;
begin
col := '';
if ACol > 26 then
begin
col := Chr(Ord('A')+ (ACol-1) div 26 - 1);
Acol := ACol mod 26;
end;
Result := col + Chr(Ord('A') + ACol - 1) + IntToStr(ARow);
end;
نقل قول: کار با اکسل در دلفی و استفاده از اکتیوایکس
[QUOTE=Zahed2008;797844]سلام، چرا از كتابخانه ExcelXP استفاده نمي كنيد. كار باهاش خيلي راحته و امكانات زيادي داره.
[php]
uses ExcelXP ;
کتابخانه ExcelXP را از کجا دانلود کنم؟ گشتم نبود!
نقل قول: کار با اکسل در دلفی و استفاده از اکتیوایکس
سلام. اگر موفق شدین با اکسل ارتباط برقرار کنید به منهم یاد بدید. این کتابخانه excelXP را پیدا نکردم.
نقل قول: کار با اکسل در دلفی و استفاده از اکتیوایکس
نقل قول:
نوشته شده توسط
Suniiman
سلام. اگر موفق شدین با اکسل ارتباط برقرار کنید به منهم یاد بدید. این کتابخانه excelXP را پیدا نکردم.
سلام
از منوی Component گزینه Install Packages رو انتخاب کنید. در پنجره ی باز شده از لیست گزینه Microsoft Office XP Sample Automation Server Wrapper Components رو تیک بزنید.
حالا میتونید excelXP رو در قسمت Uses یونیت اضافه کنید و از امکاناتش استفاده کنید