7
votes

Excel Interop Droit à gauche

J'ai créé un nouveau fichier Excel avec C #.

Quand j'ouvre le document, toutes les feuilles de calcul sont alignées à gauche.

Comment puis-je aligner la feuille de calcul / le classeur / la fenêtre à afficher de gauche à droite grammaticalement?


0 commentaires

4 Réponses :


11
votes
Excel.Application xlApp = new Excel.Application();
xlApp.Visible = true;
xlApp.Workbooks.Add(System.Type.Missing);  
Excel.Worksheet active = (Excel.Worksheet)xlApp.ActiveSheet;

xlApp.DefaultSheetDirection = (int)Excel.Constants.xlLTR; //or xlRTL
active.DisplayRightToLeft = false;

1 commentaires

La seule remarque que je dois ajouter est que ma classe ne contienne pas de propriété ou de champ de constantes. donc j'ai utilisé l'énumé inumd inum de l'Interop dll Calld Xldirection



7
votes

J'aimerais présenter ma mise en œuvre de cette fonctionnalité après avoir utilisé Marg Concept et l'a changé à la bonne syntaxe pour moi:

public void SetWorksheetDirection(Application excel, bool isRTL)
{
    Worksheet active = (Worksheet)excel.ActiveSheet;

    if (isRTL)
        excel.DefaultSheetDirection = (int)XlDirection.xlToRight;
    else
        excel.DefaultSheetDirection = (int)XlDirection.xlToLeft;

    active.DisplayRightToLeft = isRTL;
} 


0 commentaires

0
votes

Si vous vouliez simplement organiser certaines des colonnes, vous pouvez utiliser une ligne comme celle-ci:

oWS.Range["A1:B2000"].HorizontalAlignment = Microsoft.Office.Interop.Excel.Constants.xlLeft;


0 commentaires

0
votes

Faites cela une fois pour changer la direction par défaut:

  • alt + f11 Pour ouvrir l'éditeur VBA
  • ctrl + g ouvrir la fenêtre immédiate
  • dans le type de fenêtre immédiate application.defaultsheetdirection = xlltr et appuyez sur Entrée
  • alt + q Pour fermer l'éditeur VBA
  • Créez un nouveau classeur pour le tester

0 commentaires