【发布时间】: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