Pourquoi montrant message d'erreur lors de l'ouverture .fichier xls
Dans mon asp.net, application C# nous sommes la génération et téléchargement .fichier xls. Mais quand j'essaie de l'ouvrir, un message
"Le fichier que vous essayez d'ouvrir, 'filename.xls' est dans une autre
format que spécifié par l'extension de fichier. Vérifiez que le fichier est
pas corrompu et provient d'une source fiable avant de l'ouverture du fichier. Faire
vous souhaitez ouvrir le fichier maintenant?"
Si j'appuie sur "Oui", c'est l'ouverture. J'ai changé l'extension de fichier .xlsx, toujours le même message. Quelqu'un peut me dire pourquoi ce qui se passe? J'ai ajouté .xlsx type MIME extension dans le gestionnaire des services internet avec le Type MIME comme application/vnd.openxmlformats-officedocument.spreadsheetml.sheet
. Néanmoins, il montre le même message. Veuillez indiquer comment puis-je vous débarrasser de.
S'il vous plaît montrer comment générer le XLS? Est-il Excel format XML, puis l'extension xml.
quel est le code que vous demandez?
Le fichier est un fichier excel avec l'extension .xls
OriginalL'auteur Sukanya | 2012-03-21
Vous devez vous connecter pour publier un commentaire.
Avez-vous complètement créer le fichier xls ou avez-vous copier et remplir un modèle de fichier xls ?
Un mauvais modèle de format de fichier qui peut provoquer le problème.
Aussi, ce fournisseur utilisez-vous pour remplir votre dossier ?
- Microsoft.ACE.OLEDB.12.0 pour xlsx/xlsm ?
- Microsoft.Jet.OLEDB.4.0 pour xls ?
Un mauvais fournisseur/extension de la combinaison peut causer le problème.
En fonction de votre commentaire, voici une partie du code où je l'ai fait dans le passé :
( commenté certains des lignes que je ne me souviens pas pourquoi ils sont utiles )
votre code est similaire à ce que j'ai . Mais votre code affiche le même message.
Est-il un autre moyen de créer un fichier excel à partir de données sql server?
Je suppose que votre rendu au format html chaîne doit être qu'un tableau HTML (code<table><tr><td></td>...</tr>...</table>), sinon ce sera un échec. Tout d'abord, essayez d'exporter un const string contenant deux lignes, deux colonnes de la table html code. Il y a d'autres manières d'exporter vers Excel (/OleDb Jet connexions comme je l'ai suggéré, le Bureau de l'Interopérabilité, ...) je parie que beaucoup de sujets sur ce site de répondre à ces questions
OriginalL'auteur jbl
Celui-ci pourrait être un vieux post, mais j'ai été à la recherche de réponses pour une même question, et il pensait que ça pourrait être utile. Il semble qu'il n'est pas lié à la façon dont votre application vous donne la xls fichier dans le navigateur. C'est un problème avec Office 2007 excès de sécurité.
De Microsoft L'article 948615 explique:
La seule solution est d'ajouter en entrée pour le registre du client. Je sais que c'est pas une vraie solution pour une application web peut-être avec des centaines d'utilisateurs, mais au moins, vous pouvez ajouter une note à la page dire comment faire pour résoudre ce gênant d'avertissement.
OriginalL'auteur Adrian Platte
Pas sûr de savoir comment vous exportez des données vers excel. Réglage de la DisplayAlerts à false pourrait aider.
- Je utiliser DLL de l'interopérabilité. L'espace de noms
Microsoft.Office.Interop.Excel
.Voir Feng Chen réponse dans le lien suivant sur la façon d'ajouter la référence: http://social.msdn.microsoft.com/Forums/en/netfxsetup/thread/c9e83756-4ae2-4ed4-b154-1537f3bb3a22
Le lien suivant peut également vous aider:
http://www.dotnetperls.com/excel
En ajoutant que la dll créé beaucoup de problèmes. Son même pas me permettre d'ouvrir le projet lui-même..Donc....
Vous devriez probablement parler de la façon dont vous êtes l'exportation excel dans votre code.
Je ne recommande pas de prendre soin de cette réponse, qui est mal et buggy dans de nombreux niveaux
OriginalL'auteur Manoj
L'alerte est une nouvelle fonctionnalité de sécurité dans Excel 2007 appelé Extension de Durcissement, ce qui garantit que le contenu du fichier en cours d'ouverture correspond à l'extension type spécifié dans la commande shell qui tente d'ouvrir le fichier.
La conception actuelle ne vous permet pas d'ouvrir le contenu HTML d'un site web dans Excel, à moins que l'extension de l'URL .HTM/.HTML/.MHT/.MHTML. Donc ASP pages HTML de retour et de définir le type MIME à quelque chose comme XLS pour tenter de forcer le code HTML pour l'ouvrir dans Excel à la place du navigateur web (comme prévu) sera toujours obtenir l'alerte de sécurité étant donné que le contenu ne correspond pas au type MIME.
http://blogs.msdn.com/b/vsofficedeveloper/archive/2008/03/11/excel-2007-extension-warning.aspx
OriginalL'auteur Tipper
Vous utilisez .xls dans le nom de fichier et .xlsx dans le type MIME. Essayez avec filname.xlsx.
OriginalL'auteur Mujtaba Hassan
L'extension de fichier .xls (Version 2003) soutient la mise en page HTML alors que office 2007 et les versions ci-dessus ne prennent pas en charge.
Vous devez exporter le fichier excel .xlsx format. De mon expérience, il sera alors de le soutenir dans toutes les versions.
Ajouter ci-dessous les Dll dans le dossier bin
Code pour exporter le fichier .xlsx
OriginalL'auteur Jitendra G2