2011-06-30 15 views
6

मैं एक्सेल फ़ाइल लिखने के लिए जेएक्सएल का उपयोग कर रहा हूं। ग्राहक एक निश्चित कॉलम को एक दशमलव स्थान के साथ संख्या प्रदर्शित करने के लिए चाहता है। वे सेल प्रकार भी "संख्या" होना चाहते हैं। जब मैं निम्नलिखित (परीक्षण) कोड का उपयोग करता हूं, तो संख्याएं सही तरीके से प्रदर्शित होती हैं, लेकिन सेल प्रकार "कस्टम" होता है।जेएक्सएल संख्या प्रारूप और सेल प्रकार

File excelFile = new File("C:\\Users\\Rachel\\Desktop\\TestFile.xls"); 

WritableWorkbook excelBook = Workbook.createWorkbook(excelFile); 
WritableSheet excelSheet = excelBook.createSheet("Test Sheet", 0); 

WritableFont numberFont = new WritableFont(WritableFont.ARIAL); 
WritableCellFormat numberFormat = new WritableCellFormat(numberFont, new NumberFormat("#0.0")); 

Number numberCell = new Number(0, 0, 25, numberFormat); 
excelSheet.addCell(numberCell); 

excelBook.write(); 
excelBook.close(); 

अगर मैं बदल संख्या स्वरूप NumberFormats (जैसे NumberFormats.INTEGER) में चर में से एक है, कोशिका प्रकार सही है। लेकिन संख्याओं को पाठ्यक्रम के पूर्णांक के रूप में प्रदर्शित किया जाता है। मुझे नंबरफॉर्मैट्स में एक चर नहीं मिल रहा है जो मेरी ज़रूरतों से मेल खाता है।

कोई भी संख्याओं और सेल प्रकारों के प्रदर्शन दोनों को सही करने के तरीके के बारे में जानता है? मुझे 1 दशमलव के साथ प्रदर्शित सभी संख्याओं की आवश्यकता है (भले ही वे पूर्णांक हों)। और मैं किसी अन्य तकनीक पर स्विच नहीं कर सकता, मुझे जेएक्सएल का उपयोग करना होगा।

+0

मैं जानता हूँ कि प्रश्न पूछा गया था 2011 में आप आंकड़ा के लिए प्रबंधन किया बाहर? मुझे एक ही समस्या है हालांकि मेरे पास अन्य विकल्प है जो अपाचे पीओआई का उपयोग करना है। – PSone

+1

मैं भूल जाता हूं कि मैं क्या कर रहा हूं और अब एक अलग कंपनी के साथ हूं। माफ़ कीजिये –

उत्तर

7

मुझे खेद है कि यह वही नहीं है जो आप चाहते हैं। लेकिन, मैं आपकी जरूरतों के बारे में क्या समझता हूं, सेल प्रकार = संख्या 1 दशमलव स्थान के साथ है। आपके लिए अपने स्वयं के संख्या प्रारूपों को परिभाषित करना संभव है। आप आप क्या चाहते हैं पाने के लिए इस प्रारूप ("# .0") का उपयोग कर सकते हैं (जैसे: 900.0,23.0,34324.0 और आदि)

NumberFormat decimalNo = new NumberFormat("#.0"); 
WritableCellFormat numberFormat = new WritableCellFormat(decimalNo); 
//write to datasheet 
Number numberCell = new Number(0, 0, 25, numberFormat); 
excelSheet.addCell(numberCell); 
संबंधित मुद्दे