2016-12-05 4 views
0

J'utilise actuellement aspose.cells pour .Net et je dois définir une date personnalisée en fonction de la langue utilisée dans notre application. Le problème est, nous définissons le format via le code ci-dessous, mais si le format de date du système (OS) est différent, notre formatage personnalisé va pour un lancer et l'excel affiche la date dans le format du système (OS). Y at-il une solution de contournement pour cela? Voici le code:Mise en forme de date personnalisée Aspose.cells quel que soit le format de date de l'OS

var dateStyle = dataWorksheet.Cells.GetCellStyle(startRowNumber, column); 

      dateStyle.Custom = CultureInfo.CreateSpecificCulture("en-US").DateTimeFormat.ShortDatePattern; 
      var dateRange = dataWorksheet.Cells.CreateRange(startRowNumber, column, dataTable.Rows.Count + 1, 1); 

      dateRange.SetStyle(dateStyle); 

a également essayé la solution here, mais en vain.

Répondre

0

@Gautam, S'il vous plaît noter, la déclaration CultureInfo.CreateSpecificCulture ("en-US"). DateTimeFormat.ShortDatePattern retourne un modèle qui est intégré au format Excel d'un (M/d/yyyy de) mettre donc à une cellule (ou plage de cellules) en format personnalisé convertira automatiquement le format en format intégré, qui changera en fonction des paramètres régionaux de la machine sur laquelle la feuille de calcul doit être chargée. Je vous suggère d'utiliser le modèle personnalisé comme mm/jj/aaaa qui donnerait un résultat similaire, mais le format ne changera pas selon les paramètres régionaux. Veuillez vérifier le morceau de code suivant ainsi que l'instantané ci-joint montrant la boîte de dialogue Mettre en forme la cellule.

C#

var book = new Workbook(); 
var sheet = book.Worksheets[0]; 
var dateStyle = sheet.Cells.GetCellStyle(0, 0); 

dateStyle.Custom = "mm/dd/yyyy";//CultureInfo.CreateSpecificCulture("en-US").DateTimeFormat.ShortDatePattern; //represents M/d/yyyy 
var dateRange = sheet.Cells.CreateRange(1, 0, 10, 1); 
dateRange.SetStyle(dateStyle); 
dateRange.PutValue("26-Sep-2014", true, false); 
book.Save(dir + "output.xlsx"); 

enter image description here

Note: Je travaille comme évangéliste Developer à Aspose