使用C#excel库在excel单元格中提供符号的货币值

使用C#excel库在excel单元格中提供符号的货币值,c#,excel,com-interop,excel-interop,C#,Excel,Com Interop,Excel Interop,我正在使用c#创建excel文件。我喜欢不同的列设置,如数字、货币、日期等。我正在设置excel单元格的范围并验证自定义数字格式。但当我设置货币时,它在excel文件中显示了错误的符号。这是我的列设置代码 int row = 9; int index = 10; int count = Report.Data.Count - 1; for (int i = 0; i < columns.Count; i++) { switch (columns[i].Type.ToUpperInvari

我正在使用c#创建excel文件。我喜欢不同的列设置,如数字、货币、日期等。我正在设置excel单元格的范围并验证自定义数字格式。但当我设置货币时,它在excel文件中显示了错误的符号。这是我的列设置代码

int row = 9;
int index = 10;
int count = Report.Data.Count - 1;
for (int i = 0; i < columns.Count; i++) {
 switch (columns[i].Type.ToUpperInvariant()) {
  case ColumnSettingType.Number:
   {
    oRange = (Excel.Range) oSheet.Range[oSheet.Cells[index, i + 1], oSheet.Cells[index + count, i + 1]];
    oRange.NumberFormat = "#,###,###";
    break;
   }
  case ColumnSettingType.Currency:
   {
    oRange = (Excel.Range) oSheet.Range[oSheet.Cells[index, i + 1], oSheet.Cells[index + count, i + 1]];
    oRange.NumberFormat = "$ #,###,###.00";
    break;
   }
  case ColumnSettingType.Percentage:
   {
    oRange = (Excel.Range) oSheet.Range[oSheet.Cells[index, i + 1], oSheet.Cells[index + count, i + 1]];
    oRange.NumberFormat = "0.00%";
    break;
   }
  case ColumnSettingType.Date:
   {
    oRange = (Excel.Range) oSheet.Range[oSheet.Cells[index, i + 1], oSheet.Cells[index + count, i + 1]];
    oRange.NumberFormat = "$#,###,###.00";
    break;
   }
 }
 oSheet.Cells[row, i + 1] = columns[i].ColumnName;
}
int行=9;
int指数=10;
int count=Report.Data.count-1;
for(int i=0;i
我的excel文件正在显示另一个符号,而不是($),而且我需要动态显示我传递的此符号

我需要帮助


NumberFormat属性似乎使用$symbol来指示单元格采用的是货币格式,就我所见,该格式使用的是当前语言环境的货币符号

可以在NumberFormatLocal属性中设置用于单元格/区域的实际货币符号

设置两者时,值应显示为“$1016.89”


查看Excel
[$-en US]#、###0.00中的货币数字格式选项
为什么不显示美元符号?
 var format = "$ #,##0.00";
 oRange.NumberFormat = format;
 oRange.NumberFormatLocal = format;