Excel Interop从右到左的文档

时间:2011-01-04 13:50:32

标签: c# excel-interop worksheet direction

我用C#创建了一个新的Excel文件。

当我打开文档时,所有工作表都从右向左对齐。

如何将工作表/工作簿/窗口对齐以从语法上从左到右显示?

4 个答案:

答案 0 :(得分:11)

Sub leftToRight()
    Application.DefaultSheetDirection = xlLTR
    ActiveSheet.DisplayRightToLeft = False
End Sub

您还可以通过工具 - >选项 - >国际更改设置。请注意,您需要设置/取消设置复选框“从右向左查看当前工作表”以更改当前打开的工作表。

编辑:抱歉,我不小心将您的问题解释为VBA。

这是一个c#解决方案:

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 :(得分:6)

我想介绍一下这个功能的实现,我使用了marg概念并将其改为适合我的语法:

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;
} 

答案 2 :(得分:0)

如果您只想组织一些列,可以使用如下所示的行:

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

答案 3 :(得分:0)

这样做一次更改默认方向:

  • Alt + F11 打开VBA编辑器
  • Ctrl + G 打开立即窗口
  • 立即窗口中的
  • 键入Application.DefaultSheetDirection = xlLTR并按 Enter
  • Alt + Q 关闭VBA编辑器
  • 创建一个新的工作簿来测试它