J'essaye d'exporter un ensemble de données pour exceler la méthode page asp.net (webmethod) en utilisant le code suivant.Problème lors de l'exportation d'un ensemble de données pour exceller à partir d'une méthode web utilisant asp.net
[WebMethod]
public static void ExporttoExcel()
{
DataSet ds;
productfactory pf=new productfactory();
ds = pf.getproducts();
HttpResponse response = HttpContext.Current.Response;
// first let's clean up the response.object
response.Clear();
response.Charset = "";
response.ContentEncoding = System.Text.Encoding.Default;
// set the response mime type for excel
response.ContentType = "application/vnd.ms-excel";
response.AddHeader("Content-Disposition", "attachment;filename=\"products.xls\"");
// create a string writer
using (StringWriter sw = new StringWriter())
{
using (HtmlTextWriter htw = new HtmlTextWriter(sw))
{
// instantiate a datagrid
DataGrid dg = new DataGrid();
dg.DataSource = ds.Tables[0];
dg.DataBind();
dg.RenderControl(htw);
string filepath = Environment.GetFolderPath(Environment.SpecialFolder.Desktop) + "\\products.xls";
response.Write(sw.ToString());
// response.End();
}
}
}
code ci-dessus semble fonctionner ok sauf pour la chose que la boîte de dialogue de fichier de téléchargement ne s'ouvre pas à demander à l'utilisateur si « Enregistrer »/« Ouvrir » la boîte de dialogue et donc je ne vois pas la réponse en cours d'écriture dans un fichier. Au lieu de cela, je récupère les données dans une structure tabulaire HTML, lorsque j'ai vérifié la réponse dans Firebug.
S'il vous plaît quelqu'un pourrait-il m'aider avec?
Merci.