【问题标题】:How can I get Excel cell contents to right justify using C#?如何使用 C# 让 Excel 单元格内容右对齐?
【发布时间】:2015-11-14 08:46:22
【问题描述】:

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

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

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

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

我通过为第一个货币值/第二行添加此代码进行实验,试图证明它的合理性,希望它能证明是正确的:

monthPurchasesCell.HorizontalAlignment = XlVAlign.xlVAlignJustify;

...但是,正如您在屏幕截图 sn-p 中看到的那样,它的作用正好相反(左对齐)。没有“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);
}

如何证明右边的货币价值是合理的?

【问题讨论】:

  • XlValign - 这不是垂直对齐吗?您正在将水平对齐设置为垂直对齐。这就是为什么你没有得到左/右对齐的原因。试试 xlRight 看看你会得到什么。有时,您无法对符合您要求的法律表达进行任何智能感知。

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


【解决方案1】:

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-12-08
    • 2019-03-02
    • 2016-11-15
    • 2011-07-03
    • 2023-03-16
    • 2019-02-04
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多