title: Using EPPlus, I am trying to export a gridview to an Excel Sheet
body: <p>Excel is telling me that there is unreadable data, and so after I say to try to recover the information, it shows the correct data. When I open the text file of the xlsx, though, I get all of the html for the entire page, instead of just the gridview (which is probably the unreadable content Excel is talking about).</p>
  
  <p>Here is my code:</p>
  
  <pre><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());
          }
      }
  </code></pre>
  
  <p>Any ideas about what might be happening? Someone suggested using EPPlus after I had the same problems trying to send HTML data to Excel, and it was sending the entire page, instead of just the gridView.</p>
  
  <p>Thanks</p>