le fichier que vous essayez d'ouvrir est dans un format différent de celui spécifié par l'extension de fichier dans Asp.Net
le fichier que vous essayez d'ouvrir est dans un format différent de celui spécifié par l'extension de fichier c# d'erreur lorsque vous essayez d'ouvrir le fichier dans excel.
Voici mon code
public ActionResult Export(string filterBy)
{
MemoryStream output = new MemoryStream();
StreamWriter writer = new StreamWriter(output, Encoding.UTF8);
var data = City.GetAll().Select(o => new
{
CountryName = o.CountryName,
StateName = o.StateName,
o.City.Name,
Title = o.City.STDCode
}).ToList();
var grid = new GridView { DataSource = data };
grid.DataBind();
var htw = new HtmlTextWriter(writer);
grid.RenderControl(htw);
writer.Flush();
output.Position = 0;
return File(output, "application/vnd.ms-excel", "test.xls");
}
quand suis en train d'essayer d'ouvrir excel, j'obtiens cette erreur
le fichier que vous essayez d'ouvrir est dans un format différent de celui
spécifié par l'extension de fichier
Après avoir cliqué sur Oui, le fichier s'ouvrir correctement. mais je ne veux pas ce msg à apparaître.
source d'informationauteur Rahul Rajput
Vous devez vous connecter pour publier un commentaire.
J'ai utilisé CloseXML pour résoudre le problème.
Installé ClosedXML dans mon projet à l'aide de Gestionnaire De Package Nuget.
Vous êtes constamment à obtenir que le message d'avertissement parce que le fichier qui a été créé n'est pas un fichier excel existant. Si vous regardez dans le fichier généré, il est juste un tas de balises html. Rappelez-vous qu'un
GridView
's RenderControl va générer un tableau html.À résoudre votre problème, vous devez soit utiliser un outil tiers qui crée un véritable fichier excel (un outil que vous souhaitez utiliser est NPOI) ou de créer un fichier délimité par des virgules, ou tout simplement un fichier csv, et de retour que le fichier.
Dans le cas où quelqu'un d'autre bute sur ce... j'avais besoin de convertir des gouttes de retour dans les fichiers à la volée en C#. Pdf est bien travaillé et excel m'a donné ce même message d'erreur que l'OP explique.
C'est le code que j'ai écrit qui gère excel différemment des autres types de fichier.
Donnant excel application/octet-stream, avec un nom de fichier a résolu mon problème. Sans doute pas la façon la plus propre de le faire, mais il était assez bon pour mes fins.
Au cas où quelqu'un a besoin d'exporter un jeu de données comme fichier excel avec CloseXML.