格式化Excel单元格(货币)

我开发了一个Excel插件,以便您可以从MySQL数据库中插入一些数字到特定的单元格中。 现在我试图格式化这些单元格为货币,我有两个问题。 1.在格式化的单元格上使用公式时,总和例如显示如下:“353,2574€”。 我需要做什么来以适当的方式显示它? 有些单元格是空的,但也必须用货币格式化。 当使用相同的格式我用于总和公式和键入的东西,只有数字显示。 没有“€”,什么也没有。 那是什么? 我指定了一个Excel.Range并用它来格式化范围

sum.NumberFormat = "#.## €"; 

但我也试过了

 sum.NumberFormat = "0,00 €"; sum.NumberFormat = "#.##0,00 €"; 

任何想法的人?

这个为我工作。 我有Exceltesting应用程序,格式化货币为千位分隔符逗号为2小数位。 以下是在Excel文件上写入数据的控制台应用程序。

确保你已经引用了Microsoft.Office.Interop.Excel DLL

 using System.Collections.Generic; using Excel = Microsoft.Office.Interop.Excel; namespace ConsoleApplication2 { class Program { static void Main(string[] args) { var bankAccounts = new List<Account> { new Account { ID = 345678, Balance = 541.27}, new Account {ID = 1230221,Balance = -1237.44}, new Account {ID = 346777,Balance = 3532574}, new Account {ID = 235788,Balance = 1500.033333} }; DisplayInExcel(bankAccounts); } static void DisplayInExcel(IEnumerable<Account> accounts) { var excelApp = new Excel.Application { Visible = true }; excelApp.Workbooks.Add(); Excel._Worksheet workSheet = (Excel.Worksheet)excelApp.ActiveSheet; workSheet.Cells[1, "A"] = "ID Number"; workSheet.Cells[1, "B"] = "Current Balance"; var row = 1; foreach (var acct in accounts) { row++; workSheet.Cells[row, "A"] = acct.ID; workSheet.Cells[row, "B"] = acct.Balance; } workSheet.Range["B2", "B" + row].NumberFormat = "#,###.00 €"; workSheet.Columns[1].AutoFit(); workSheet.Columns[2].AutoFit(); } } public class Account { public int ID { get; set; } public double Balance { get; set; } } } 

输出

在这里输入图像说明