c# - 如何在 C# Excel Interop 中格式化公式结果?

标签 c# excel-formula number-formatting excel-interop

我有这段代码可以对给定范围内的值求和(第 O 列第 10 行到最后一个重要行的 O 列):

注意:这是字母“O”而不是数字“零”。

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);

...as .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);

关于c# - 如何在 C# Excel Interop 中格式化公式结果?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34032569/

相关文章:

c# - 正在解析的属性构造函数中的 Unity Inject 参数

c# - MVVM无法在主页上显示默认用户控件

excel - 在 VLOOKUP 中使用表和列标题

vba - 搜索完全相同的日期或过去最接近的日期的函数 + 一个额外条件

逗号分隔数字的 C# 默认格式

python - 如何在 python 中以长的、漂亮的圆角和本地化格式打印任何 float ,例如 1.234e22?

c# - 从给定列表中检测至少 3 个序列号的序列

c# - 将 AutoFixture 与最小起订量一起使用?

sql - 如何将 Excel 公式转换/模拟为 SQL 查询

sql - 使用 TO_NUMBER 以固定记数法和科学记数法解析数字