如何使用 C# 获取 Excel 单元格内容以右对齐?

How can I get Excel cell contents to right justify using C#?

我动态创建的电子表格的一部分如下所示:

起初,两个货币值(边界列内四行的每个块中的第二行和第三行)(默认情况下)从右侧偏移一点,如您所见,第二个货币值/第三个现在是行。

因此,两个货币行与第一行 (int) 和最后 (%) 行不太对齐。

我希望它们都紧贴块右侧的垂直边框,例如 int 和 % 行。

我尝试为第一个货币值/第二行添加这段代码,试图证明它是正确的,希望它能证明正确:

monthPurchasesCell.HorizontalAlignment = XlVAlign.xlVAlignJustify;

...但是,正如您在屏幕截图片段中所见,它的作用恰恰相反(左对齐)。没有"xlVAlignJustifyRight"左右。

在上下文中,在一个月块中显示四行的代码是:

private void AddMonthData(int packages, decimal purchases, decimal avgPrice, double percent, int colToPopulate)
{
    var monthPackagesCell = (Range)_xlSheet.Cells[_curDescriptionTopRow, colToPopulate];
    monthPackagesCell.Value2 = packages.ToString("N0", CultureInfo.CurrentCulture);
    var monthPurchasesCell = (Range)_xlSheet.Cells[_curDescriptionTopRow + 1, colToPopulate];
    monthPurchasesCell.Value2 = purchases.ToString("C", CultureInfo.CurrentCulture);
    monthPurchasesCell.HorizontalAlignment = XlVAlign.xlVAlignJustify;
    var monthAvgPriceCell = (Range)_xlSheet.Cells[_curDescriptionTopRow + 2, colToPopulate];
    monthAvgPriceCell.Value2 = avgPrice.ToString("C", CultureInfo.CurrentCulture);
    var monthPercentOfTotalCell = (Range)_xlSheet.Cells[_curDescriptionTopRow + 3, colToPopulate];
    monthPercentOfTotalCell.Value2 = percent.ToString("P", CultureInfo.CurrentCulture);
}

我怎样才能使货币值向右对齐?

我认为你必须使用 XlHAlign 进行水平对齐。