如何在 C# Excel Interop 中格式化公式结果?
How can I format a formulaic result in C# Excel Interop?
我有这段代码对给定范围内的值求和(第 O 列第 10 行到 O 列最后一个重要行):
注:是字母"O"不是数字"Zero"。
var totalTotalPackageCountCell =
(Range)_xlSheetDelPerf.Cells[curDelPerfRow + 2, TOTAL_PACKAGE_COUNT_COLUMN];
totalTotalPackageCountCell.Formula = string.Format("=SUM(O10:O{0})", curDelPerfRow);
除一件事外,它工作得非常漂亮:值显示时没有逗号,例如“20192”(我希望它是“20,192”)。
我试过这个:
totalTotalPackageCountCell.Formula =
string.Format("=SUM(O10:O{0})", curDelPerfRow)
.ToString("N0", CultureInfo.CurrentCulture);
...因为 .ToString("N0", CultureInfo.CurrentCulture)
是我如何成功地将逗号添加到其他值。
不过,在这种(公式值)情况下,它甚至无法编译 - 我得到:
No overload for method 'ToString' takes 2 arguments
我怎样才能拥有我的公式并对其进行格式化?
你可以试试这个。在赋值之前尝试指定单元格的 NumberFormat。
totalTotalPackageCountCell.NumberFormat = "#,##0";
totalTotalPackageCountCell.Formula = string.Format("=SUM(O10:O{0})", curDelPerfRow);
我有这段代码对给定范围内的值求和(第 O 列第 10 行到 O 列最后一个重要行):
注:是字母"O"不是数字"Zero"。
var totalTotalPackageCountCell =
(Range)_xlSheetDelPerf.Cells[curDelPerfRow + 2, TOTAL_PACKAGE_COUNT_COLUMN];
totalTotalPackageCountCell.Formula = string.Format("=SUM(O10:O{0})", curDelPerfRow);
除一件事外,它工作得非常漂亮:值显示时没有逗号,例如“20192”(我希望它是“20,192”)。
我试过这个:
totalTotalPackageCountCell.Formula =
string.Format("=SUM(O10:O{0})", curDelPerfRow)
.ToString("N0", CultureInfo.CurrentCulture);
...因为 .ToString("N0", CultureInfo.CurrentCulture)
是我如何成功地将逗号添加到其他值。
不过,在这种(公式值)情况下,它甚至无法编译 - 我得到:
No overload for method 'ToString' takes 2 arguments
我怎样才能拥有我的公式并对其进行格式化?
你可以试试这个。在赋值之前尝试指定单元格的 NumberFormat。
totalTotalPackageCountCell.NumberFormat = "#,##0";
totalTotalPackageCountCell.Formula = string.Format("=SUM(O10:O{0})", curDelPerfRow);