मुझे जावा लाइब्रेरी Apache POI for spreadsheets का उपयोग करके एक .xls (एक्सेल) फ़ाइल जेनरेट करने की आवश्यकता है।एक्सेल के लिए अपाचे पीओआई: सेल कॉलम को पूरे कॉलम के लिए "टेक्स्ट" पर सेट करना
फ़ाइल में कॉलम ए में फ़ोन नंबरों की एक सूची होगी, जिसे "0221 ...." या "+49221 ..." के रूप में स्वरूपित किया गया है - इसलिए डिफ़ॉल्ट रूप से एक्सेल उन्हें संख्यात्मक कोशिकाओं के रूप में व्याख्या करता है। यह बुरा है, क्योंकि अग्रणी 0 या + छंटनी होगी।
समस्या को हल करने के लिए, मैं cell.setCellType(Cell.CELL_TYPE_STRING)
का उपयोग कर सकता हूं, जो ठीक काम करता है, लेकिन केवल विशिष्ट कोशिकाओं के लिए मैंने इसे सेट किया है।
मैं पूरे कॉलम के लिए इस सेटिंग को कैसे लागू कर सकता हूं (यानी सभी शेष कक्षों के लिए भी, जहां उपयोगकर्ता अतिरिक्त फोन नंबर दर्ज करेगा)?
एक्सेल में, यह संभव है: संपूर्ण स्तंभ का चयन, और कोशिका प्रकार लागू (सेटिंग को सहेजने में बचता/फ़ाइल लोड।)
लेकिन मैं POI के लिए सही विधि नहीं मिल रहा।
- सबसे पहले मैंने माना, यह
sheet.setDefaultCellType(int colNum)
जैसा कुछ होना चाहिए। लेकिन मुझे ऐसा कुछ नहीं मिल रहा है (शायद मैं सिर्फ अंधा हूं? लाइब्रेरी में "संरेखण केंद्र" जैसे टेक्स्ट शैलियों को लागू करने के लिए बहुत सारे similar methods हैं) - तब मैंने सोचा: शायद इसे केवल लागू किया जा सकता है NamedRange या कुछ समान है, लेकिन मैं यह काम करने में कामयाब नहीं रहा हूं कि यह कैसे काम करता है ...
यह अच्छा लग रहा है! जैसे ही मैं परियोजना पर वापस आऊंगा, मैं इस समाधान का प्रयास करूंगा। धन्यवाद! –
यह काम करता है ... धन्यवाद! – jahroy
मैंने वही किया। var cllstyl = this.Workbook.CreateCellStyle(); var कार्यपुस्तिका = नई HSSFWorkbook(); var currDataFormat = workbook.CreateDataFormat(); cllstyl.DataFormat = currDataFormat.GetFormat ("@"); शीट। सैटडिफॉल्ट कॉलम स्टाइल (1, क्लस्टाइल); लेकिन यह "टेक्स्ट" प्रारूप नहीं दिखा रहा है, इसके बजाय यह "तिथि" दिखाता है। कृपया इस पर मेरी सहायता करें। –