ورود

نسخه کامل مشاهده نسخه کامل : سئوال در مورد System.Reflection.Missing.Value



am_merman01
10-11-2017, 02:53
با سلام خدمت دوستان عزیز

داشتم تلاش میکردم که خروجی گرفتن بر روی فایل Excel رو توسط VB یاد بگیرم . برای این کار قطعه کد زیر رو پیدا کردم

برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
ولی توی این کد نتونستم متوجه بشم که قطعه کد System.Reflection.Missing.Value چه کاری انجام میده و اصلا چرا در اینجا ازش استفاده شده؟
توی MSDN نوشته شده بود که میشه توسط اون به یک مقدار مفقود شده دسترسی داشت :n13: اصلا یعنی چی آخه:n41:
آیا از دوستان کسی میتونه این رو برای من توضیح بده ؟
پیشاپیش تشکر میشه.

_H2_
11-11-2017, 01:10
سلام
یک جور مقدار خاص null است که معمولا در ارتباط با اشیای COM استفاده میشود.
در برخی موارد با پاس دادن مقدار nullبه توابع COM خطایی رخ میدهد، مثلا پارامتری ارسال نشد و... و این مقدار این مشکل را حل میکند.

اما نکته ای دیگر...
روش تان برای ساخت Excel خوب نیست.
شما از اشیای COM و interop و... استفاده میکند.
دربرابر دات نت اینها اشیا و تکنولوژی خوش نامی نیستند !
- معمولا باید برنامه شان نصب باشد (تا حالا بدون نصب آفیس کدتان را امتحان کرده اید؟)
- بین اجرا برنامه شما بصورت 32 بیتی و 64 بیتی و نصب برنامه اصلی بصورت 32 بیتی یا 64 بیتی بسیار اذیت میکنند و مشکل ایجاد میکنند ، تا جایی که مجبور میشوید نسخه خاصی را نصب کنید.
- اغلب حتی در نسخه برنامه هم شاید مشکل ایجاد کنند، مثلا برای کارکردن برنامه تان باید فقط فقط فلان نسخه آفیس نصب شود.
- در وب (ASP.Net) هم این مشکلات بشدت تشدید میشود
و...

برای خواندن و نوشتن فایل اکسل پیشنهاد میکنم از dll های تمام دات نتی استفاده کنید.
مثلا برای xls کتابخانه رایگان ExcelLibrary عملکرد عالی دارد
یا برای xlsx کتابخانه رایگان EPPlus خیلی خوب است
و کتابخانه های دیگر...
[ برای مشاهده لینک ، لطفا با نام کاربری خود وارد شوید یا ثبت نام کنید ]
[ برای مشاهده لینک ، لطفا با نام کاربری خود وارد شوید یا ثبت نام کنید ]

این کتابخانه های رایگان، فقط با کپی dll شان در کنار exe تان کار میکنند و مشکلات گفته شده قبلی را ندارند.
همواره تلاش کنید مشکلات تان را با کتابخانه های تمام دات نتی (ترجیحاً رایگان هم باشد :n02:) برطرف کنید.
موفق باشید.