المساعد الشخصي الرقمي

مشاهدة النسخة كاملة : Excel من دلفي عبر ADO


kachwahed
02-03-2011, 03:02 PM
السلام عليكم ورحمة الله
تماما مثل MS Access فقط الاختلاف:
أضف من الصفحة الثالثة لإعدادات الربط ADO ضمن الخيارات
Extended Properties=Excel 8.0;HDR=Yes;IMEX=0
للمزيد حول إعدادات الاتصال:
http://www.connectionstrings.com/excel

لأسباب أمنية قامت Microsoft بإضافة IMEX=1 لمنع التعديل
http://support.microsoft.com/kb/904953/en
جعلتها صفر لنتمكن من التعديل/الإضافة

الاستعلامات تكتب بشي مثل:
select * from [Sheet1$]
حيث Sheet1 تمثل اسم الوثيقة من ملف Excel
ولا يمكنك حذف سجلات كما هو الحال في البيانات العلائقية
http://support.microsoft.com/kb/257819/en
يعني للحذف: إجعل محتوى السجل فارغ!

بالتوفيق للجميع.

me&delphi
03-03-2011, 12:34 AM
تتم الاضافة في حقل واحد مادا عن الحقل Type

kachwahed
03-03-2011, 10:58 AM
مادا عن الحقل Type
ScrollBar الأفقية أخي me&delphi :)
عدلت على المرفق.

ouazanilarbi
03-03-2011, 04:19 PM
السلام عليكم أخي
لكن بعد فتح ملف Excel أي محتوى Sheet1 كيف ننقل البيانات من DBGrid إلى Table

mourad123
03-03-2011, 10:19 PM
سلام عليكم
التحويل من excelالىparadox بواسطة ado
المزيد ان شاء الله في ايام المقبلة

me&delphi
04-03-2011, 12:20 AM
scrollbar الأفقية أخي me&delphi

بارك الله فيك أخي kachwahed :)

ouazanilarbi
04-03-2011, 09:18 AM
سلام عليكم
التحويل من excelالىparadox بواسطة ado
المزيد ان شاء الله في ايام المقبلة
شكراً على المجهود الكبير
هل يمكن إستعمال هذه الفكرة مع جدوال أكسس

Lam.Abdeldjalil
04-03-2011, 09:54 AM
السلام عليكم

أخ mourad123 إستعملت TscExcelExport للتصدير وليس ADO

هذه هي الطريقة : وهي تصلح لجميع نظم قواعد البيانات التي يمكن الإتصال بها عبر الـ ADO ( حسب معلوماتي )

ADOConnection1.Execute('SELECT Field1,Field2,Field3 INTO mySheet ' +
'IN "'+ExtractFilePath(Application.ExeName )+'Export\myFile.xls" "Excel 8.0;" FROM TableName');
و السلام عليكم

mourad123
04-03-2011, 04:28 PM
سلام عليكم
التحويل من excelالىparadox بواسطة ado
المزيد ان شاء الله في ايام المقبلة
اخيLam.Abdeldjalil لقد استعملت ado
شكرا على الملاحظات

Lam.Abdeldjalil
04-03-2011, 04:40 PM
و عليكم السلام و رحمة الله

اخيLam.Abdeldjalil لقد استعملت ado هل أنت متأكد ؟ ماذا تفسر التالي

unit UExcel_Tout;

uses
... scExcelExport..

mourad123
04-03-2011, 05:11 PM
السلام علكيم
اخيLam.Abdeldjalil
اردت في بادئ الامر القيام ببرنامح فيه كل من scExcelExpor و ado لنقل البيانات ولكن فيما بعد وضعتهما كل على حدى

Lam.Abdeldjalil
04-03-2011, 05:43 PM
و عليكم السلام
أعتذر لأني لم أدقق جيدا في مثالك

لكنه يحمل نفس فكرة الأستاذ kachwahed أي الإتصال بـ Excel
ولا يحتوي على ما سميته بـ "التحويل من excel الى paradox بواسطة ado " ؟؟

mourad123
04-03-2011, 06:57 PM
السلام عليكم
نعم اخيLam.Abdeldjalil

aymen1968
12-07-2011, 12:26 AM
السلام عليكم:
لمن أراد معرفة الإتصال عن طريق ADO بالإكسل 2010

كود:
var
strConn : widestring;
ThePath:String;
begin

IF OpenDialog1.Execute then ThePath:=OpenDialog1.FileName;
strConn:='Provider=Microsoft.ACE.OLEDB.12.0;' +
'Data Source=' + ThePath + ';' +
'Extended Properties="Excel 12.0;HDR=YES;"';// Data Source=c:\myFolder\myExcel2007file.xlsx;Extended ;

{ strConn:='Provider=Microsoft.Jet.OLEDB.4.0;' +
'Data Source=' + ThePath + ';' +
'Extended Properties=Excel 8.0;'; }
ADOConnection1.Connected:=False;
AdoConnection1.ConnectionString:=strConn;
try
AdoConnection1.Open;
AdoConnection1.GetTableNames(ComboBox1.Items,True) ;
except
ShowMessage('Unable to connect to Excel, make sure the workbook ' + ComboBox1.Text + ' exist!');
raise;
end;