Bonjour, tous le monde.
je viens de developper une application webform via asp.net, j'ai fait une gridview afin d'insérer les données de cette grid view dans un fichier excel, le probleme c'est que j'ai tout déclaré proprement, malgré ça j'ai eu l'erreur suivant: 'gridview1 n'existe pas dans le contexte actuel', gridview1 est l'ID que j'ai donnée a ma gridview, pour plus de clarification voici le code source:
default.aspx:
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="default.aspx.cs" Inherits="ReadData.ImportExcel" %>
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head id="Head1" runat="server">
<title></title>
</head>
<body>
<form id="form1" runat="server">
<asp:Localize ID="Localize1" runat="server"></asp:Localize>
<asp:GridView ID="GridView1" runat="server" OnLoad="Page_Load">
</asp:GridView>
</form>
</body>
</html>
default.aspx.cs:
using System;
using System.Collections.Generic;
using System.Data;
using System.Data.SqlClient;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
namespace WebApplication1
{
public partial class MyExample : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
SqlDataAdapter da = new SqlDataAdapter("Select * from UserDetail", "Data Source=MYPC;Initial Catalog=Student;Persist Security Info=True;User ID=sa;Password=wintellect");
da.Fill(ds);
GridView1.DataSource = ds.Tables[0];
GridView1.DataBind();
}
DataSet ds = new DataSet();
protected void Button1_Click(object sender, EventArgs e)
{
ExportToExcel(ds.Tables[0], "toni");
}
protected void ExportToExcel(DataTable dataTable, string fileName)
{
HttpContext context = HttpContext.Current;
context.Response.Clear();
foreach (DataColumn column in dataTable.Columns)
{
context.Response.Write(column.ColumnName + ",");
}
context.Response.Write(Environment.NewLine);
foreach (DataRow row in dataTable.Rows)
{
for (int i = 0; i < dataTable.Columns.Count; i++)
{
context.Response.Write(row[i].ToString() + ",");
}
context.Response.Write(Environment.NewLine);
}
context.Response.ContentType = "application / ms - excel";
context.Response.AppendHeader("Content-Disposition", "attachment; filename=" + fileName + ".csv");
context.Response.End();
}
}
}.
merci pour l'aide
Partager