توضیحات و دانلود

ذخیره GridView به اکسل بر روی دیسک سرور با استفاده از Asp.net
0 0
ذخیره GridView به اکسل بر روی دیسک سرور با استفاده از Asp.net

با سلام در این مقاله توضیح خواهیم داد که کنترل ASP.Net GridView را روی دیسک سرور به صورت جداول اکسل با استفاده از ASP.Net انجام دهیم.
کد HTML
در Markup زیرکنترل HTML،GridView  ساده و یک دکمه ASP.Net برای ذخیره GridView به اکسل بر روی دیسک سرور قرار دارد .

<form id="form1" runat="server">
    <asp:GridView ID="GridView1" runat="server">
    </asp:GridView>
    <br>
    <asp:Button ID="btnSave" runat="server" Text="Save to Excel" OnClick="btnSave_Click" />
</form>

فضاهای نام
برای انجام این کار، شما باید فضای نامهای زیر را وارد کنید.
C #

using System.Data;
using System.IO;

VB.Net

Imports System.Data
Imports System.IO

اتصال GridView
در کد زیر کنترل ASP.Net GridView را با یک datatable مرتبط میکنیم.
C #

protected void Page_Load(object sender, EventArgs e)
{
    DataTable dt = new DataTable();
    dt.Columns.Add("Name");
    dt.Columns.Add("City");
    dt.Rows.Add();
    dt.Rows.Add();
    dt.Rows.Add();
    dt.Rows[0]["Name"] = "John Smith";
    dt.Rows[0]["City"] = "California";
    dt.Rows[1]["Name"] = "Andrew Clark";
    dt.Rows[1]["City"] = "Tokio";
    dt.Rows[2]["Name"] = "Mitchell Doe";
    dt.Rows[2]["City"] = "Dubai";
    GridView1.DataSource = dt;
    GridView1.DataBind();
}

VB.Net

Protected Sub Page_Load(sender As Object, e As EventArgs) Handles Me.Load
    Dim dt As New DataTable()
    dt.Columns.Add("Name")
    dt.Columns.Add("City")
    dt.Rows.Add()
    dt.Rows.Add()
    dt.Rows.Add()
    dt.Rows(0)("Name") = "John Smith"
    dt.Rows(0)("City") = "California"
    dt.Rows(1)("Name") = "Andrew Clark"
    dt.Rows(1)("City") = "Tokio"
    dt.Rows(2)("Name") = "Mitchell Doe"
    dt.Rows(2)("City") = "Dubai"
    GridView1.DataSource = dt
    GridView1.DataBind()
End Sub

ذخیره GridView به عنوان جدول اکسل بر روی دیسک سرور
هنگامی که GridView با داده ها متصل می شود، اکنون کد را برای ذخیره آن به عنوان فایل اکسل روی دیسک سرور بنویسیم. از این رو بر روی رویداد کلیک کننده دکمه Save کد زیر را نوشته ایم.
C #

protected void btnSave_Click(object sender, EventArgs e)
{
    string path = Server.MapPath("~/Sheets/");
    if (!Directory.Exists(path))
    {
        Directory.CreateDirectory(path);
    }
    using (StringWriter sw = new StringWriter())
    {
        using (HtmlTextWriter hw = new HtmlTextWriter(sw))
        {
            StreamWriter writer = File.AppendText(path + "GridView.xls");
            GridView1.RenderControl(hw);
            writer.WriteLine(sw.ToString());
            writer.Close();
        }
    }
}

VB.Net

Protected Sub btnSave_Click(sender As Object, e As EventArgs)
   Dim path As String = Server.MapPath("~/Sheets/")
   If Not Directory.Exists(path) Then
        Directory.CreateDirectory(path)
   End If
   Using sw As New StringWriter()
        Using hw As New HtmlTextWriter(sw)
            Dim writer As StreamWriter = File.AppendText(path & "GridView.xls")
            GridView1.RenderControl(hw)
            writer.WriteLine(sw.ToString())
            writer.Close()
        End Using
    End Using
End Sub


در بالا ابتدا بررسی می کنیم که آیا دایرکتوری که در آن اکسل هیره شده است یا نه، اگر نبود , GridView را به عنوان HTML ارائه می دهیم و سپس با استفاده از کلاس StreamWriter آن را به دیسک ذخیره می کنیم .
در حین خروج شما ممکن است خطای زیر را دریافت کنید

Server Error in '/ASP.Net' Application.

Control 'GridView1' of type 'GridView' must be placed inside a form tag with runat=server.
Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code.

Exception Details: System.Web.HttpException: Control 'GridView1' of type 'GridView' must be placed inside a form tag with runat=server.

به این ترتیب برای حل آن شما نیاز دارید که Control 'GridView1' از نوع 'GridView' را در داخل تگ فرم با runat = server قرار دهید.

 


دانلود
  • لینک های دانلود دوره های آموزشی تا پایان دوره قابل دانلود می باشد.
  • برای خارج کردن فایل ها از حالت فشرده از ورژن جدید نرم افزار winrar استفاده کنید.
  • برای خارج کردن فایل ها از حالت فشرده لینک های دانلودی که چندین قسمت می باشند فقط قسمت اول را از حالت فشرده خارج کنید.
  • لطفا توضیحات نوشته شده برای مطالب را با دقت بخوانید.
  • برای نمایش فیلم ها می توانید از نرم افزار هایی مانند Km Player , VLC Player یا Media Player Classic استفاده کنید.

ارسال نظر
ارسال پیام به :