تهیه خروجی اکسل در Asp.Net MVC

شروع موضوع توسط shirazsun.ir ‏13 ژانویه 2017 در انجمن برنامه‌نویسی با ASP.NET

  1. shirazsun.ir

    shirazsun.ir New Member

    ارسال‌ها:
    2
    تشکر شده:
    0
    امتیاز دستاورد:
    1
    جهت دریافت خروجی اکسل از داده ها در یک برنامه Asp.Net MVC روش های متفاوتی وجود دارد و البته کتابخانه های رایگان زیادی نیز وجود دارد که این کار را برای ما تسهیل می‌کنند.

    جهت دریافت خروجی روشی که معمولاً به کار می رود این است که داده های خروجی را در یک View نمایش می دهیم و آنگاه از آنView که در حال نمایش است یک خروجی اکسل تهیه می‌کنیم

    اما اگر یک لیست جنریک (Generic List) داشته باشیم و بخواهیم با ساده ترین راه ممکن در کمترین زمان ممکن بدون این که آن را در View نمایش دهیم و همچنین از کتابخانه ها هم استفاده نکنیم باید به چه صورت عمل کنیم؟

    یکی از روش ها همان روشی است که در Asp.Net وب فرم نیز استفاده می شد.

    به این صورت که شئی از نوع GridView ایجاد می‌کنیم و سپس داده های مورد نظرمان را که در قالب یک جنریک لیست هستند را به آن GridView انتساب می‌دهیم.

    در این مثال به خوبی مشاهده می‌کنید که چگونه از اشیائی که به عنوان کنترل در Asp.net وب فرم استفاده می شدند، می توان درMVC هم استفاده کرد.

    ابتدا یک پروژه جدید در ۵ MVC ایجاد کنید.

    سپس یک مدل فرضی هم که شامل ۱۰ نام به همراه شماره تلفن آن‌ها می باشد را نیز ایجاد کنید. قصد داریم از این ده عدد نام یک خروجی در قالب فایل اکسل تهیه کنیم:

    پس کلاسی با نام Userdata ایجاد می‌کنیم که property های آن مشابه زیر باشد یعنی نام و شماره تلفن:

    HTML:
      public class Userdata
        {
            public int Id { get; set; }
            public string Name { get; set; }
            public string Number { get; set; }
        }
    و در یک کلاس فرضی دیگر تصور می‌کنیم لیستی از کاربران را از دیتابیس می‌خواند و بازگشت می دهد. نام این کلاس را UserDataService می گذاریم

    اکنون در اکشن مورد نظرمان این لیست را واکشی می کنیم و در قالب خروجی اکسل آن را بازگشت می‌دهیم تا با صدا زدن آن اکشن فایل خروجی ایجاد شود و پنجره Save در مرورگر کاربر باز شود تا بتواند فایل را ذخیره کند.

    جهت دریافت فایل ضمیمه به این آدرس مراجعه کنید همچنین توضحیات دقیق تری را نیز مشاهده خواهبد کرد
     
    نوشته شده توسط shirazsun.ir در ‏13 ژانویه 2017

به اشتراک بگذارید