# Native Code > برنامه نویسی در Delphi > بانک های اطلاعاتی در Delphi >  خواندن رکوردهای فایل excel

## mahboob

با سلام
من میخواهم رکوردهای یک فیلد در فایل excel رو بخونم و در یکی از جداول بانکم که در sql ساختم ذخیره کنم لطفا منو راهنمایی کنید

----------


## asdfghjkl

میتوانید از Microsoft Jet برای اتصال به اکسل استفاده کنید (از ADO Connection  استفاده کنید)

----------


## Kamyar.Kimiyabeigi

از داخل خود SQL میتونین یک Link Server به Excel بزنین و با اطلاعات داخل اون کار کنین مثال

sp_addlinkedserver N'Excel', N'Jet 4.0',
                   N'Microsoft.Jet.OLEDB.4.0',
                   N'c:\data\MySheet.xls', NULL, N'Excel 5.0'
GO
sp_addlinkedsrvlogin N'Excel', false, sa, N'ADMIN', NULL
GO

----------


## m-khorsandi

شما میتونید از ADO برای اینکار استفاده کنید به این صورت که:

از یک ADOConnection استفاده کنید و روی اون دوبار کلیک کنید
تا ویرایشگر ConnectionString باز بشه، روی دگمه Build کلیک کنید تا 
فرم Data Link Properties باز بشه، از صفحه اول از بین Provider ها 
Microsoft.Jet.OLEDB.4.0 رو انتخاب کنید و به صفحه بعد یعنی Connection برید
تو این صفحه آدرس فایل و نام فایل رو در جایی که مشخص هست *تایپ* کنید و به 
صفحه آخر یا همون All برید و از بین ویژگیهای لیست شده Extended Properties رو
دوبار کلیک کنید و در فرمی که باز میشه در قسمت Value عبارت Excel 8.0 رو بنویسید.
فرمهای باز شده رو یکی یکی OK کنید .

ADOConnectionرو انتخاب کنید و ویژگی LoginPrompt رو False کنید تا دیگه ازتون Username و
Password رو نپرسه.

حالا یک ADOTable روی فرمتون بگذارید و اون رو به ADOConnection وصل کنید.

موقعیکه میخواهید لیست جداول (Tablename) رو ببینید تمام صفحات فایل Excel رو به همراه
یه علامت $ میاره که اگه به همین شکل هم شما انتخاب کنید و اون رو Open کنید با Error
مواجه میشید ، پس جدول رو انتخاب کنید و اون رو داخل براکت [] بگذارید. 

حالا میتونید استفاده کنید.

----------


## mahboob

> شما میتونید از ADO برای اینکار استفاده کنید به این صورت که:
> 
> از یک ADOConnection استفاده کنید و روی اون دوبار کلیک کنید
> تا ویرایشگر ConnectionString باز بشه، روی دگمه Build کلیک کنید تا 
> فرم Data Link Properties باز بشه، از صفحه اول از بین Provider ها 
> Microsoft.Jet.OLEDB.4.0 رو انتخاب کنید و به صفحه بعد یعنی Connection برید
> تو این صفحه آدرس فایل و نام فایل رو در جایی که مشخص هست *تایپ* کنید و به 
> صفحه آخر یا همون All برید و از بین ویژگیهای لیست شده Extended Properties رو
> دوبار کلیک کنید و در فرمی که باز میشه در قسمت Value عبارت Excel 8.0 رو بنویسید.
> ...


از راهنماییتون متشکر :لبخند گشاده!: 
اما مشکلی که دارم اینست که زمان اجرا برنامه این پیغام خطا می آید
[IMG]a:\2.bmp[/IMG]

----------


## mahboob

> از داخل خود SQL میتونین یک Link Server به Excel بزنین و با اطلاعات داخل اون کار کنین مثال
> 
> sp_addlinkedserver N'Excel', N'Jet 4.0',
>                    N'Microsoft.Jet.OLEDB.4.0',
>                    N'c:\data\MySheet.xls', NULL, N'Excel 5.0'
> GO
> sp_addlinkedsrvlogin N'Excel', false, sa, N'ADMIN', NULL
> GO


با سلام میشه مراحل کار را کمی بیشتر توضیح بدید

----------


## mehdi_moosavi

در مورد پیغام خطایی که ظاهر میشه کسی میتونه راهنمایی کنه؟

----------


## arshia_

من فایل اکسس با آفیس 2003 و 2007 ساختم و خواستم از این روش استفاده کنم ولی خطا می ده دوتا خطا داره یکی موقع connect کردن ado connection که خطاش اینه:
Could not find installable ISAM
و خطای دیگه وقتی می خوایم نام جدول رو انتخاب کنیم
This table is not excepte


جناب خرسندی روش شما جواب داد و بدون مشکل متصل شد
علت اشکال قبلی این بود که آفیس 2007 فایلها رو با پسوند xls  ذخیره نکرده بود و پسوند اونا Xlsx بود
تقریبا تمام موردا رو به صورت XML در قالب مدل قبل ذخیره می کنه
اما وقتی فایل رو با آفیس 2003 و 2000 ذخیره کردم به راحتی جواب داد و اتصال برقرار شد

----------


## shobair

سلام
این کد رو دانلود کنید. برای باز کردن Excel file.

http://www.planet-source-code.com/vb...=1346&lngWId=7

شبیر

----------


## mehdi_moosavi

بله درسته این کد کاملا جواب میده. لطفا بفرمائید آیا با این روش میشه به یک فایل DBF هم وصل شد ؟
روش کار به چه شکل هست؟
با تشکر

----------


## ali_abbasi22145

> شما میتونید از ADO برای اینکار استفاده کنید به این صورت که:
> 
> از یک ADOConnection استفاده کنید و روی اون دوبار کلیک کنید
> تا ویرایشگر ConnectionString باز بشه، روی دگمه Build کلیک کنید تا 
> فرم Data Link Properties باز بشه، از صفحه اول از بین Provider ها 
> Microsoft.Jet.OLEDB.4.0 رو انتخاب کنید و به صفحه بعد یعنی Connection برید
> تو این صفحه آدرس فایل و نام فایل رو در جایی که مشخص هست *تایپ* کنید و به 
> صفحه آخر یا همون All برید و از بین ویژگیهای لیست شده Extended Properties رو
> دوبار کلیک کنید و در فرمی که باز میشه در قسمت Value عبارت Excel 8.0 رو بنویسید.
> ...


درود و سپاس بي پايان 
من تست كردم و خوب هم به بانك EXCEL  وصل شد، حالا چطوري آن فايل EXCEL را به بانكم IMPORT كنم؟

----------

