PDA

View Full Version : حرفه ای: خروجی واقعی اکسل از برنامه های تحت وب



ehsan2007
جمعه 11 تیر 1389, 14:06 عصر
سلام خدمت همه دوستان برنامه نويس
مدتها بود دنبال خروجي واقعي و بدون مشکل اکسس از ديتابيس بودم چه به وسيله گريدويو و چه به صورت دستي اما هر جا که گشتم با زبان فارسي خروجي اکسل مشکل داشت
خروجي هم که مهندس راد از گريد ميگرفتن در عمل کار نميکرد در پايين بررسي ميکنيم که چه مشکلاتي داشت
پروژه اي که در فايل ضميمه گذاشتمو ابتدا دانلود کنيد
داخل پوشه
App_Data
پروژه دو فايل وجود داره يکي ديتابيس اکسس و يکي هم يک فايل اکسل هستش
داخل ديتابيس اکسس يک جدول يوزر وجود داره که اطلاعات 4 نفر داخلش ثبت شده
و اما قسمت مهم کارمون شما ابتدا براي خوروجي اکسل خودتون يک فايل تمپلت بايد درست کنيد که به صورت خالي باشه
خروجي اکسل ما داراي سه فيلده
UserName ------ FAndLName ------ Pwd
نام کاربري
نام و نام خانوادگي
کلمه عبور
فايل تمپلتمون داخل پوشه
App_Data
با نام
User.xls
هستش
براي خروجي گرفتن ابتدا يک کپي از فايل تمپلتمونو داخل پوشه
AA
قرار ميديم
بعد اطلاعات رو از داخل ديتابيس اکسس ميخونيم و داخل فايل اکسلي که داخل پوشه
AA
کپي گرفتيم
Insert
ميکنيم
و در آخر هم به دلايل امنيتي فايل اکسل رو به پسوند
resources
تغيير ميديم
و براي دانلود ارسال ميکنيم
ضمنا يک حلقه جهت حذف فايلهاي قبلي هم نوشتم که با هر بار ساخت فايل اکسس اون فايلهاي قبلي که يک ساعت قبل ايجاد شده رو حذف ميکنه
اما تفاوت اين خروجي با خروجي مهندس راد چيه
وقتي خروجي مهندس راد رو باز ميکنيم با يک ارور که اکسل از اين فرمت پشتيباني نميکنه روبرو ميشيم
دوم فرض کنيد از خروجي که گرفتيم ميخوايم در ميل مارگين
word
استفاده کنيم چنين کاريرو نميشه با اون خروجي اکسل انجام داد
اما ميل مارگين چيه
بيشتر دوستان در پرينت گرفتن و فرمت هاي خاصي که مشتريان براي خروجي تحت وب ميخوان مشکل دارن
چندتا مثال ميزنم تا متوجه منظورم بشيد
يک ديتابيس داريد که اطلاعات 1000 دانشجو داخلش ثبته ميخواين کارت دانشجويي واسشون پرينت بگيريد يا نام کاربري و کلمه عبورشونو واسشون پرينت بگيريد
از شما درخواست هم شده که داخل هر برگ
A4
اطلاعات دو نفر رو پرينت بگيريد تا کاغذ کمتري به هدر بره
دو راه داريد
يکي با استفاده از کريستال ريپورت برنامه رو بنويسيد و تنظيمات برگ
A4
رو انجام بديد
يکي هم همه اطلاعات رو در يک صفحه لود کنيد و صفحه رو ذخيره کنيد و با هزار دردسر با
word
باز کنيد و مرتبش کنيد
راه اول که هم خيلي فشار روي سرور مياره هم برنامه نويسيش وقت گيره
راه دوم هم زمان زيادي براي مرتب کردن فرمها ميبره
اما راه سومي که من پيشنهاد ميکنم
از ميل مارگين
word
استفاده کنيد
داخل پروژه يک فايل
word
وجود داره به نام
UserPrint.docx
ابتدا يک خروجي اکسس از برنامه بگيريد
فايل
word
رو باز کنيد
يک فرم طراحي کردم با سايز برگه
A5
(فرض میکنیم میخوایم یوزر و پسورد کاربران نواحی یک شرکت رو به همراه توضیحاتی ارسال کنیم)
به سر برگ
Mailings
ورد بريد
از منو ها گزينه
Start Mail Merge
رو انتخاب کنيد و گزينه آخر رو انتخاب کنيد
step by step Mail Merge Wizard
رو انتخاب کنيد
در سمت راست گزينه
letters
رو انتخاب کنيد
و در پايين
next
رو انتخاب کنيد
در پنجره بعدي هم
next
رو بزنيد
در پنجره جديد
Browse
رو انتخاب کنيد
و فايل خروجي اکسل برنامه رو انتخاب کنيد
در مراحل بعد هم
next
رو بزنيد تا به مرحله آخر برسيد
در آخر گزينه
Edit individual letters
رو انتخاب کنيد

موفق باشيد

Behrouz_Rad
جمعه 11 تیر 1389, 14:11 عصر
وقتي خروجي مهندس راد رو باز ميکنيم با يک ارور که اکسل از اين فرمت پشتيباني نميکنه روبرو ميشيم

من تا حالا این مشکل رو نداشتم و گزارشی هم از این مورد بهم نرسیده. با کدوم نسخه از Excel بررسی کردی؟

ehsan2007
جمعه 11 تیر 1389, 14:20 عصر
با اروری که ضمیمه گذاشتم مواجه میشم
از آفیس 2007
استفاده میکنم

Behrouz_Rad
جمعه 11 تیر 1389, 14:51 عصر
با اروری که ضمیمه گذاشتم مواجه میشم
از آفیس 2007
استفاده میکنم
اگر Yes رو بزنی مشکلی نیست اما در نسخه ی 2007 روی خروجی HTML بهینه سازی هایی انجام شده که باعث میشه برای باز کردن خروجی بر مبنای 2003 هشداری به کاربر داده بشه.

البته کاری که انجام دادید قابل تقدیره و ازتون ممنونم.
برای تکمیل تاپیک، لینک مقاله ای رو که در مورد نحوه ی انجام اعمال متداول بر روی فایل Excel از طریق کدنویسی نوشتم قرار میدم:
http://barnamenevis.org/forum/showthread.php?t=24087

موفق باشید.

mona_rahno
یک شنبه 25 اردیبهشت 1390, 14:55 عصر
با تشکر از زحماتتون من با نمایش عکس در اکسل مشکل دارم.آیا عکسارو میشه کاری کرد؟
و همچنین می خوام اطلاعات وقتی داخل اکسل میان فیلتر روشون اعمال بشه یعنی حالت table داشته باشن.اگه ممکنه راهنماییم کنید.
ممنون