2011-02-17 5 views
2

Il y avait une chaîne (1008901023816550000000) dans le GridView en quelque sorte a été enregistrée comme un nombre scientifique (1.0089E + 21) dans Excel lorsque j'ai exporté le GridView vers Excel.Problème de format de données. Exporter GridView vers Excel

J'utilise .Net 4.0.

Voici ce que j'ai essayé, mais ils ne résout pas le problème:

  1. Ajouté DataFormatString = "{0: g}" à la balise ColonneLiée.
  2. Définissez le style après l'appel de RenderControl.

    chaîne de style = @ ".text {mso-nombre-format: \ @;}";

Quelqu'un peut-il faire la lumière sur ce problème?

+1

Collez un guillemet simple ('' ') avant la valeur pour forcer Excel à le traiter comme une chaîne et non comme un nombre? Je ne sais pas si cela fonctionne programmatique, mais il le fait pour la saisie manuelle directement dans Excel. –

+0

@ Marc B: Merci. J'ai juste essayé, mais '1008901023816550000000 avec le guillemet simple sera également stocké. – zsong

Répondre

1

présumant que vous utilisez un fichier CSV pour effectuer l'exportation:

Ceci est une bizarrerie d'Excel qui est difficile à secouer. La seule idée que je connaisse est d'essayer d'utiliser un format comme celui-ci dans le fichier CSV:

="1008901023816550000000" 

Cela forcera à être une formule qui renvoie le texte souhaité.

+0

Mais les guillemets seront aussi stockés ... – zsong

+0

@sza: Oui, vous êtes coincé avec un signe égal et les guillemets. Pardon. Mais étant donné ce qu'Excel fera et ne fera pas, cela pourrait être la seule façon possible. En revanche, en ce qui concerne les calculs et la mise en forme des feuilles de calcul, il s'agit d'une valeur textuelle de bonne foi et non d'un nombre. – rskar

+0

avec "=", cela fonctionne. – zsong

3

Essayez ceci, ça va fonctionner.

string style = @"<style> TD { mso-number-format:\@; } </style> "; 
+0

sza - Je sais qu'il est trop tard mais juste pour la mise à jour, avez-vous essayé le code ci-dessus? Ajoutez juste une ligne. vous n'avez pas besoin de changer vos données. –

Questions connexes