我正在使用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;
}
我的Excel文件显示的是另一个符号,而不是($),另外我需要动态显示此符号。
需要帮助。
答案 0 :(得分:0)
似乎NumberFormat属性使用$符号表示单元格采用货币格式 - 就我所见,它使用当前的区域设置货币符号。
可以在NumberFormatLocal属性中设置用于单元格/范围的实际货币符号。
设置两者都应将值显示为&#34; $ 1,016.89&#34;
var format = "$ #,##0.00";
oRange.NumberFormat = format;
oRange.NumberFormatLocal = format;