Supposons que j'ai un champ avec une valeur de date dans un modèle Reporting Services, par ex. =CDate("2010.12.03")
, j'applique le format "d" à cette cellule, qui, selon la description, "reflétera les paramètres régionaux du rapport". Je génère le rapport en utilisant la langue anglaise, la date est affichée comme 12/03/2010
, ce qui est bien. Maintenant, quand j'exporte ce rapport à Excel, je n'ai aucune idée de ce que le _ arrive.Mise en forme et exportation de la date SSRS 2008 pour exceller dans la confusion
Premier scénario: les paramètres régionaux de l'ordinateur sont définis sur Anglais (États-Unis). Lorsque j'ouvre le document Excel, la valeur vue dans la cellule est 12/03/2010
, comme prévu. Quand je clique dessus, je peux voir que la valeur réelle stockée dans la cellule est 2010.12.03
, ce qui semble également raisonnable - un certain formatage est appliqué à la cellule, il n'est pas simplement exporté en tant que texte. Mais quand j'essaie de comprendre quel type de formatage est appliqué, en cliquant avec le bouton droit et en cochant Format Cells, je vois que le format est "General", c'est-à-dire none! Comment se peut-il ? C'est Excel 2010 en passant, mais le fichier lui-même est .xls, bien sûr.
Deuxième scénario, où cela devient plus intéressant: maintenant la région de l'ordinateur est définie par ex. Lituanie, où le format de date est 2010.12.03
. J'ouvre le même document et je vois le 12.03.2010
. Cela n'a tout simplement aucun sens. Exportant plusieurs fois j'ai rencontré que parfois la cellule est formatée comme [$-10409]m.d.yyyy
dans Excel (sous la section Personnalisée). Qu'est-ce que c'est, que signifie le 10409? La partie la plus étrange de tous: si je ferme le document sans enregistrer, changez la région de l'ordinateur en anglais (États-Unis), rouvrez le document, le format est maintenant [$-10409]m/d/yyyy
! Comment est-ce possible !?? Fondamentalement, la même chose se produit avec les nombres et avec les séparateurs de milliers/décimales - Excel utilise la région de l'ordinateur pour les formater, mais le format réel de la cellule peut être quelque chose comme [$-10409]#,##0.00;-#,##0.00
ou Général - encore, selon la région de l'ordinateur, direction du vent et de la température extérieure.
Ma question est donc, tout d'abord, ce que le _ _ se passe? Deuxièmement, comment le document Excel devrait-il se comporter selon les spécifications, c'est-à-dire que l'énoncé selon lequel un format «reflète les paramètres régionaux du rapport» dans le BIDS conçu, où j'ai choisi le format «d» ? Cela signifie-t-il que le format sera déterminé par la langue du rapport et que le résultat sera le même sur tous les ordinateurs du monde (ce qui est logique, puisque c'est ainsi que se comportent les autres formats, ex. pdf, il reste toujours le même)? Sinon, ce qui semble être partiellement le cas dans Excel, pourquoi la cellule de date exportée n'a pas le format de date régional, c'est-à-dire celui que vous utilisez normalement dans Excel, celui qui formate la date selon la région de l'ordinateur ?
S'agit-il d'une sorte de limitation d'Excel ou quoi? Pourquoi ne pouvons-nous pas avoir un comportement cohérent, c'est-à-dire soit rendre tout ce qui est sensible à la culture de l'ordinateur qui regarde le document ou non, pourquoi le comportement réel est-il quelque part entre les deux?