2012-09-04 8 views
7

मैं एक्सेल शीट में डेटा दर्ज करने के लिए सी # और ClosedXML का उपयोग करने का प्रयास कर रहा हूं। मुझे उन चीज़ों में से अधिकांश चीज़ें मिली हैं जिन्हें मैं ढूंढ रहा हूं, हालांकि मुझे दशमलव स्थानों की संख्या और साथ ही साथ गोल करने के लिए ClosedXML प्राप्त करने में कुछ समस्याएं आ रही हैं।ClosedXML: पर्सेंट, 1 ​​दशमलव स्थान और गोल करने के साथ काम करना?

मैं वर्तमान में cell.Style.NumberFormat.NumberFormatId = 10; 2 दशमलव स्थानों के साथ एक प्रतिशत दिखाने के लिए सेल प्राप्त करने के लिए उपयोग कर रहा हूँ, मैं फिर भी केवल 1 दशमलव स्थान प्रदर्शित करना चाहते हैं, और wiki for ClosedXML केवल 0 या 2 दशमलव स्थानों के साथ प्रतिशत को दर्शाता है।

अगला जब मैं ClosedXML का उपयोग नहीं करते और डेटा जोड़ने सीधे एक्सेल अप दशमलव स्थानों के दौर होगा, लेकिन जब मैं ClosedXML का उपयोग डेटा कोशिकाओं को ख़त्म कर नहीं है दर्ज करने के लिए, वहाँ के लिए पूर्णांक बनाना ClosedXML मजबूर करने के लिए एक रास्ता है मैं, या मुझे मैन्युअल रूप से ऐसा करने की ज़रूरत है?

उत्तर

6

ऐसा लगता है कि तो जवाब अपने स्वयं के कस्टम NumberFormatId इस के अनुसार लिखने के लिए हो सकता है: https://stackoverflow.com/a/7900397/541208, वैकल्पिक रूप से, ClosedXML docs में, इसे जोड़ने के लिए कहते हैं एक नया Style:

var workbook = new XLWorkbook(); 
var ws = workbook.Worksheets.Add("Style NumberFormat"); 

var co = 2; 
var ro = 1; 

// Using a custom format 
ws.Cell(++ro, co).Value = "123456.789"; 
ws.Cell(ro, co).Style.NumberFormat.Format = "$ #,##0.00"; 

ws.Cell(++ro, co).Value = "12.345"; 
ws.Cell(ro, co).Style.NumberFormat.Format = "0000"; 

// Using a OpenXML's predefined formats 
ws.Cell(++ro, co).Value = "12.345"; 
ws.Cell(ro, co).Style.NumberFormat.NumberFormatId = 3; 

ws.Column(co).AdjustToContents(); 

workbook.SaveAs("StylesNumberFormat.xlsx"); 

तो अपने कस्टम NumberFormat होगा 0.0% की तरह कुछ डिफ़ॉल्ट प्रारूपों listed here:

ws.Cell(ro, co).Style.NumberFormat.Format = "0.0%"; 
+0

मैं स्पष्ट जवाब के रूप में इस चूक, लेकिन यह देखने के बाद मैं अपने forma बदल गया है के आधार पर टी 'सेल' स्टाइल.NumberFormat.Format = "0.0%"; ' और एकल दशमलव स्थान का ख्याल रखा जाता है। धन्यवाद। अब गोल पहेली को समझने के लिए। –

+0

मैं इसे वापस लेता हूं, अब 1 दशमलव स्थान के साथ संख्या ठीक से गोल कर रही है। फिर से धन्यवाद। –

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