2010-12-10 2 views
0

i conçu une exportation vers Excel page qui utilise le code suivantUTF-8 DonT affichage ASP.Net après avoir changé la culture dans la page directive

alt text

les données sont affichées en vue de la grille et le format de date est affiché comme M/d/yyyy donc j'ajouté la culture en-GB à la directive de page pour afficher la date d/M/aaaa

alt text

la date affiche maintenant correctement d/M/yyyy et l'utf-8 s'affichent également correctement dans gridview.

cependant une fois que je l'exportation vers Excel utf-8 apparaît brouillé

chaque fois que je retire la culture des directives de page, les noms affichent correctement, mais je fais face à nouveau M/d/yyyy question.

Ma question est: est-il possible d'afficher la date comme d/M/aaaa et en même temps la lecture correcte utf-8

toutes les idées seront appréciées

+0

Spécifiez-vous le type d'encodage quelque part (comme UTF-8)? – ZippyV

+0

oui dans web.config. – statmaster

+0

Si vous mettez "Response.AddHeader ..." et "Response.ContentType ..." dans les commentaires, votre navigateur affiche-t-il les noms arabes? – ZippyV

Répondre

1

ici est ce que vous devriez faire Pour résoudre votre problème

1-supprimer les paramètres de culture de la directive page cela affichera correctement l'affichage des noms arabes dans Excel, non?

2 pour résoudre le problème de la date procédez comme suit dans le code GridView ASPX

AutoGenerateColumns="false" 

le code précédent doit être inséré dans le, il empêchera la génération automatique

colonne maintenant vous besoin de générer des colonnes manuellement, utilisez le code suivant comme exemple

<Columns> 
<asp:BoundField DataField="EmployeeName" HeaderText="Name" /> 
<asp:BoundField DataField="Gender" HeaderText="Gender" /> 
<asp:BoundField DataField="DOB" DataFormatString="{0:d/M/yyyy}" HeaderText="DOB" /> 
</Columns> 
Questions connexes