如何使用C#获得Excel单元格内容以正确对齐?

时间:2015-11-14 00:08:01

标签: c# alignment excel-interop right-align

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

enter image description here

首先,两个货币值(有界列内四行的每个块中的第二行和第三行)(默认情况下)偏离右边一点,因为您可以看到第二个货币值/第三行是现在

因此,两个货币行与第一(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);
}

如何证明货币价值合适?

1 个答案:

答案 0 :(得分:1)

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