PDA

View Full Version : سوال: لود فایل اکسل در C#



narges_j
چهارشنبه 26 تیر 1392, 01:01 صبح
سلام
من برای وارد کردن فایل اکسل به سی شارپ برنامه نوشته ام .در سیستم خودم درست کار میکند ولی وقتی روی یک سیستم دیگر می برم در خط زیر خطا میدهد.لطفا راهنماییم کنید چه تغییری ایجاد کنیم

var connectionString = string.Format("Provider=Microsoft.ACE.OLEDB.12.0; data source={0}; Extended Properties=Excel 8.0;", openFileDialogLoad.FileName);

hamid_hr
چهارشنبه 26 تیر 1392, 09:44 صبح
چه خطايي ميده؟

Hkarimi
چهارشنبه 26 تیر 1392, 10:35 صبح
سلام. از این کانکشن استرینگ استفاده کنید ببینید هنوزم خطا میده. قابل ذکره که برای اکسل 2007 نوشته شده.


string connectionString = @"Provider=Microsoft.ACE.OLEDB.12.0;
Data Source= " + ofd.FileName + " ;Extended Properties=\"Excel 12.0;HDR=YES;\"";

narges_j
چهارشنبه 26 تیر 1392, 11:38 صبح
اگر ممکن لطف کنید بگید از کجا ورژن اکسل را بدست میارید یعنی اینکه از کجا میدونید 12 ورژن 2007 است؟؟؟؟؟

Hkarimi
چهارشنبه 26 تیر 1392, 11:47 صبح
خب بقیه میگن، ما هم میگیم:بامزه:

یه چیز جالب بگم... به گمونم تو کل دنیا میگن که 13 نحصه. حتی مایکروسافت ورژن 2010 Office رو به جای اینکه 13 بذاره 14 گذاشته و مجموعه Office ورژه 13 نداره.

راستی درست شد برنامتون؟

narges_j
چهارشنبه 26 تیر 1392, 12:20 عصر
راستش خیلی عجیب کد قبلی روی لپ تاپ دیگه ای امتحان کردم درست بود ...کدی که شما هم دادید درست بود ...ولی نمیدونم چرا روی لپ تاپ دوستام کار نمیکنه.....
یه سوال دیگه هم داشتم...من با dll که از این سایت گرفتم جدولم را به اکسل تبدیل میکنم ولی وقتی همون فایل را میخوام لود کنم خطا میده

http://www.codeproject.com/Articles/8411/C-class-library-for-exporting-data-to-CSV-Excel-fi

narges_j
چهارشنبه 26 تیر 1392, 12:36 عصر
خطایی که موقع لود فایل اکسل میدهد
Object reference not set to an instance of an object.

a.ameri
چهارشنبه 26 تیر 1392, 13:26 عصر
سلام
شاید این لینک کمکت کنه
http://www.c-sharpcorner.com/uploadfile/ankurmee/import-data-from-excel-to-datagridview-in-C-Sharp/

کلید ورژن ها ی آفیس در رجیستری
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Office\X.0

برای خوندن اطلاعات از excel به sql باید AccessDatabaseEngine رو نصب کنی شاید روی سیستم هدفت نصب نیست
(اکسل => سی شارپ نمیدون شایدم لازم نباشه ) ولی تستش ضرر نرداره

narges_j
چهارشنبه 26 تیر 1392, 13:44 عصر
فایل برنامه من هست لطفا اگر فرصت دارید تست کنید
http://uploadtak.com/images/u3258_ExcelToC.rar

narges_j
سه شنبه 22 مهر 1393, 09:03 صبح
حل خطای
The 'Microsoft.ACE.OLEDB.12.0' provider is not registered on the local machine
و
خطای

Object reference not set to an instance of an object

راه حل اول
در ویژال روی نام پروژه راست کلیک کنید و properties را انتخاب کنید.
در تب build قسمت platform target را براساس سی پیو تنظیم کنید

اگر درست نشد
راه حل دوم
نصب2007 Office System Driver: Data Connectivity Components از لینک زیر
http://www.microsoft.com/en-us/download/confirmation.aspx?id=23734

راه حل دوم در اکثر مواقع مشکل را حل می کند.