ورود

View Full Version : سوال: کار با فایل excel و دریافت نتیجه



roya.raha
شنبه 03 فروردین 1392, 16:04 عصر
سلام
من یک فایل اکسل دارم که 13 تا شیت دارد که در هرکدوم یکسری اطلاعات را میگیرد بعد کلی محاسبات انجام میدهد و اطلاعاتی را به شیت های دیگر ( برای استفاده در فرمولهای آنها) ارسال میکند.
میخواستم ببینم میتونم از داخل vb.net اطلاعات را وارد سلولهای مورد نظر بکنم و بعد نتیجه را هم از سلولهای مقصد بگیرم؟
در تاپیکهایی که دوستان قبلا گذاشتند نحوه اتصال و اکسپورت اطلاعات بانک وجود دارد ولی اولا من دقیقا باید اطلاعات را به سلولهای خاص در شیتهای مختلف مد نظر ارسال کنم و مهمتر اینکه پس از ارسال این اطلاعات باید اکسل هم محاسبات خودش را انجام بدهد و بعد من نتیجه را از سلولهای نهایی دریافت کنم و نشان بدم.

متشکرم

sh2007
یک شنبه 04 فروردین 1392, 19:01 عصر
اين براي خوندن اطلاعات از Excel
http://stackoverflow.com/questions/7666425/reading-excel-data-by-column-using-vb-net
اينهم براي اضافه كردن به Excel
http://support.microsoft.com/kb/306022
http://forums.codeguru.com/showthread.php?304933-insert-data-in-excel-through-vb

roya.raha
یک شنبه 04 فروردین 1392, 22:52 عصر
سلام
خیلی متشکرم ، واقعا لطف کردید.

فقط یک مشکلم باقیمانده اونهم اینکه با روشهایی که در لینکهای بالا گفته شده میشه مقدار را از فایل اکسل خواند ولی اکسل محاسبات خودش را انجام نداده ! من یک فایل اکسل دارم که پر از فرمولهای مختلف است ، برای این میخوام از اکسل استفاده کنم که دوباره مجبور نباشم تمام این فرمولها را بیارم داخل vb و تازه غیر از فرمول کلی از توابع داخلی اکسل استفاده شده که من معادل vb آنها را بلد نیستم.
خلاصه من میخوام بعد از اینکه مقادیر را به فایل اکسل فرستادم ، اکسل مثل وقتی که خودش باز هست ، محاسبات را انجام بدهد ، بعد من مقادیر نهایی را دریافت کنم.

از توجهتان ممنون

swallow.pa
دوشنبه 05 فروردین 1392, 16:31 عصر
سلام
خیلی متشکرم ، واقعا لطف کردید.

فقط یک مشکلم باقیمانده اونهم اینکه با روشهایی که در لینکهای بالا گفته شده میشه مقدار را از فایل اکسل خواند ولی اکسل محاسبات خودش را انجام نداده ! من یک فایل اکسل دارم که پر از فرمولهای مختلف است ، برای این میخوام از اکسل استفاده کنم که دوباره مجبور نباشم تمام این فرمولها را بیارم داخل vb و تازه غیر از فرمول کلی از توابع داخلی اکسل استفاده شده که من معادل vb آنها را بلد نیستم.
خلاصه من میخوام بعد از اینکه مقادیر را به فایل اکسل فرستادم ، اکسل مثل وقتی که خودش باز هست ، محاسبات را انجام بدهد ، بعد من مقادیر نهایی را دریافت کنم.

از توجهتان ممنون
خب دوست گرامي sh2007 درست نوشتن منتها چون شما بعضي از سلولهاي اكسل فرمول دارن بايد اطلاعات رو توي اون نريزي توي قسمتي بريزي كه براش فرمول تعريف شده وقتي اطلاعات رو بريزي خود اكسل محاسبه مي كنه

roya.raha
دوشنبه 05 فروردین 1392, 23:34 عصر
من در همون سلولها اطلاعات را میریزم . ولی چون اکسل اجرا نشده ارسال اطلاعات شبیه ارسال به یک فایل یا یک بانک اطلاعات انجام میشه و بقیه سلولها مقدارشان تغییر نمیکنه. اگر وقتی اطلاعات را ارسال کردم فایل اکسل را باز کنم ، محاسبه انجام میشه و خروجی صحیح هست ولی وقتی با vb اطلاعات را از سلولهای جواب بر می دارم ، معلومه که محاسبه انجام نشده .
نمیشه محیط اکسل را داخل خود فرم لود کنم ؟ یا نمیدونم روشی که بصورت مخفی یکبار اکسل اجرا بشه ولی کاربر متوجه نشود. یا ... ؟

roya.raha
سه شنبه 13 فروردین 1392, 22:42 عصر
:ناراحت::افسرده::گیج::متفکر:
میشه این کار را کرد ؟ نمیشود ؟
نمیخواستم پست " بدون محتوا " بگذارم ولی چکار کنم ؟ اینجا تاپیکهایی که از صفحه اول کنار بروند و دو تا پاسخ داشته باشند ، دیگه چطور بشه کسی به موضوع علاقه مند باشه بازشون کنه.
پوزش

amirmms
چهارشنبه 14 فروردین 1392, 00:09 صبح
آی راست میگی رویا خانم
حرفت کاملا متینه
دوستان منم دقیقا همین مشکل رو دارم کسی نیست ؟؟

Mohamad.Net.MSDN
چهارشنبه 14 فروردین 1392, 03:28 صبح
من تمام دنیا رو زیر و رو کردم در حواب فقط فهمیدم که پس برنامه اکسل رو درست کردند برای چی؟
برای محاسبه دیگه
شما باید فرمولی رو که در اکسل وارد کردی به زبان VB ترجمه کنی بعد وارد برنامه بکنی تا وقتی اطلاعات وارد شد ، برنامه محاسبه بکنه بعد خروجی بده
به صورت اتوماتیک هنوز نمیشه کاری کرد که برنامه خودش بفهمه شما از چه فرمولی استفاده میکنید بعد اون فرمول رو به کدهای دات نت ترجمه کنه و خروجی رو به شما بده ـتازه کفشهاتونم واکس بزنه و چایی هم بیاره میل کنید.

roya.raha
چهارشنبه 14 فروردین 1392, 07:30 صبح
نمیشه مثل ورد ، اکسل را داخل برنامه باز کرد و ازش استفاده کرد ؟ یک جایی مخفیش کنیم باهاش کار کنیم ؟

davood-ahmadi
چهارشنبه 14 فروردین 1392, 23:29 عصر
مثلا می تونی از داخل وی بی اجراش بگیری :

Process.Start(Application.StartupPath & "/book1.xls")

roya.raha
پنج شنبه 15 فروردین 1392, 08:30 صبح
مثلا می تونی از داخل وی بی اجراش بگیری :

Process.Start(Application.StartupPath & "/book1.xls")

مرسی
دوتا سوال :
-- میشه برنامه بصورت مخفی اکسل را باز کند ؟
-- اگر فایل باز باشد ، میتوانم با همان کدها مقادیر را تغییر دهم و ذخیره کنم ؟

davood-ahmadi
پنج شنبه 15 فروردین 1392, 22:01 عصر
با دستور زیر می تونی به جواب سوال اول برسی ولی دومی رو نمی دونم باید تست کنی. (تا اونجایی که من می دونم باید بسته شده)

Shell(Application.StartupPath & "/book1.xls", AppWinStyle.Hide, True)

roya.raha
شنبه 24 فروردین 1392, 11:02 صبح
سلام
من هنوز نتونستم به نتیجه برسم میشه کمک کنید