2016-12-02 1 views
1

J'utilise EPPlus qui est un excellent wrapper Excel à utiliser à partir de C#. Je l'utilise dans un site asp.net-mvc et j'ai rencontré un problème étrange. Je veux exporter une cellule avec un format de date qui fonctionnera pour tout le monde globalement. Mon serveur web est à Londres mais j'ai des utilisateurs partout dans le monde.lorsque vous utilisez EPPlus en C#, comment exporter un format de date globalement clair?

Quelle est la bonne façon de formater la Numberformat si la date apparaît comme quelque chose comme « 12-Apr-2016 » (donc il n'y a pas de confusion ce qui est du jour et ce qui est le mois)

_currentWorksheet.Cells["A2"].Value = myDate; 
_currentWorksheet.Cells["A2"].Style.Numberformat.Format = "dd-MMM-yyy"; 

mais il ne semble pas exporter correctement.

Quelle est la bonne syntaxe pour mettre en forme les dates qui s'affichent dans Excel globalement et ne peuvent pas être confondues?

+0

Quel est le problème avec la définition de la valeur de la cellule comme la date dans le format de chaîne que vous voulez? – krillgar

+0

Que signifie "format de date globalement clair"? Voulez-vous dire "locale-indépendant"? Seul le format ISO8601 le fait c'est-à-dire «aaaa-MM-jj». Pas de noms, juste des chiffres, année à l'avant. La date stockée n'a aucun format, c'est une date d'OA binaire. –

+1

Que voyez-vous dans Excel? Il semble fonctionner pour moi. J'utilise la culture américaine par défaut dans Excel, alors peut-être que vos paramètres affectent la sortie. – Ernie

Répondre

1

définir les paramètres régionaux utilisateur correct, ce qui devrait rendre les choses "globalement clair" pour eux:

_currentWorksheet.Cells["A2"].Style.Numberformat.Format = 
System.Globalization.DateTimeFormatInfo.CurrentInfo.ShortDatePattern; 

System.Globalization a été faite pour les cas comme celui-ci.