una simbolo repetir porcentaje moneda iguales formato fecha duplicar comparar como celdas celda caracter cambiar c# excel format currency

c# - simbolo - formato porcentaje excel



Formato de celdas de Excel(moneda) (1)

Desarrollé un complemento para Excel para que pueda insertar algunos números de una base de datos MySQL en celdas específicas. Ahora traté de formatear estas celdas a la moneda y tengo dos problemas con eso. 1. Al usar una fórmula en celdas formateadas, la suma por ejemplo se muestra así: "353,2574 €". ¿Qué tengo que hacer para mostrarlo de manera adecuada? 2. Algunas celdas están vacías, pero también tienen que estar formateadas en moneda. Cuando uso el mismo formato que usé para la fórmula de la suma y escribo algo, solo se muestra el número. No "€", nada. ¿Que es eso? Especifiqué un Excel.Range y lo utilicé para formatear el rango

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

Pero también lo intenté

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

¿Alguna idea de alguien?


Esta funciona para mí. Tengo una aplicación de prueba de Excel que formatea la moneda en 2 lugares decimales con una coma como separador de miles. A continuación se muestra la aplicación de consola que escribe datos en el archivo de Excel.

Asegúrese de que ha hecho referencia a dll Microsoft.Office.Interop.Excel

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

La salida