À l'aide de EPPlus, je suis en train d'exporter un gridview à une Feuille Excel

Excel me dit qu'il est illisible données, et donc après je dis pour essayer de récupérer les informations, il montre les données correctes. Quand j'ouvre le fichier texte de la xlsx, si, je reçois tout le code html de la page entière, au lieu de simplement le contrôle gridview (ce qui est probablement le contenu illisible Excel parle).

Voici mon code:

public void ExcelDownload(object sender, EventArgs e)
    {
        DataSet _MailingListUsers = db.GetMailingList();
        DataTable mailTable = _MailingListUsers.Tables[0];

        DumpExcel(mailTable);

    }

    private void DumpExcel(DataTable tbl)
    {
        using (ExcelPackage pck = new ExcelPackage())
        {
            //Create the worksheet
            ExcelWorksheet ws = pck.Workbook.Worksheets.Add("Mailing List");

            //Load the datatable into the sheet, starting from cell A1. Print the column names on row 1
            ws.Cells["A2"].LoadFromDataTable(tbl, false);

            //Header Titles
            ws.Cells["A1"].Value = "Employee Name";
            ws.Cells["B1"].Value = "Email Address";
            ws.Cells["C1"].Value = "Phone";
            ws.Cells["D1"].Value = "Business Unit";
            ws.Cells["E1"].Value = "Site";

            ws.Cells["A1"].AutoFitColumns();

            //Format the header for column 1-3
            using (ExcelRange rng = ws.Cells["A1:E1"])
            {
                rng.Style.Font.Bold = true;
                //Set Pattern for the background to Solid
                rng.Style.Fill.PatternType = ExcelFillStyle.Solid;    
                //Set color to dark blue
                rng.Style.Fill.BackgroundColor.SetColor(System.Drawing.Color.FromArgb(79, 129, 189));  
                rng.Style.Font.Color.SetColor(System.Drawing.Color.White);
            }


            //Write it back to the client
            Response.ContentType = "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet";
            Response.AddHeader("content-disposition", "attachment;  filename=MailingList.xlsx");
            Response.BinaryWrite(pck.GetAsByteArray());
        }
    }

Des idées sur ce qui se passe? Quelqu'un a suggéré d'utiliser EPPlus après j'ai eu les mêmes problèmes en essayant d'envoyer le HTML des données vers Excel, et il a été l'envoi de la totalité de la page, au lieu de simplement le contrôle gridView.

Grâce

OriginalL'auteur shawleigh17 | 2012-03-05