2013-01-15 9 views
16

मैंने Excel के लिए ऐड-इन विकसित किया है ताकि आप कुछ संख्याओं को MySQL डेटाबेस से विशिष्ट कक्षों में सम्मिलित कर सकें। अब मैंने इन कोशिकाओं को मुद्रा में प्रारूपित करने की कोशिश की और मुझे इसके साथ दो समस्याएं हैं। 1. स्वरूपित कोशिकाओं पर सूत्र का उपयोग करते समय, उदाहरण के लिए योग इस तरह प्रदर्शित होता है: "353,2574 €"। इसे उचित तरीके से प्रदर्शित करने के लिए मुझे क्या करना है? 2. कुछ कोशिकाएं खाली हैं लेकिन उन्हें मुद्रा में भी स्वरूपित किया जाना है। उसी प्रारूप का उपयोग करते समय मैंने योग सूत्र के लिए उपयोग किया और कुछ टाइप किया, केवल प्रदर्शित संख्या ही है। नहीं "€", कुछ भी नहीं। वो क्या है? मैं एक Excel.Range निर्दिष्ट और इस के लिए इस्तेमाल किया रेंजएक्सेल कोशिकाओं को स्वरूपित करना (मुद्रा)

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

फ़ॉर्मेट करने के लिए लेकिन मैं यह भी

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

किसी भी विचार किसी की कोशिश की?

उत्तर

15

यह मेरे लिए काम करता है। मेरे पास एक्सेल परीक्षण ऐप है जो मुद्रा को 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; } 
    } 
} 

आउटपुट

enter image description here

संबंधित मुद्दे