À 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
Vous devez vous connecter pour publier un commentaire.
Je manque le
Réponse.Clear()
et laRéponse.Fin()
:La meilleure solution..........................................................!!! 😀
Je veux juste faire remarquer que la ligne 4 doit être comme ceci: ws.Les Cellules [A2].LoadFromDataTable(tbl, false);
Seriez-vous en mesure de s'il vous plaît aider moi ici: stackoverflow.com/questions/27827277/...
OriginalL'auteur Rango