2011-07-13 17 views
8

क्या यह निर्धारित करने का कोई तरीका है कि सेल एक तिथि है या नहीं? मुझे style.getDataFormatString() के बारे में पता है, लेकिन यह मेरी मदद नहीं करता है, क्योंकि मैं यह निर्धारित नहीं कर सकता कि क्या प्रारूप बनाना है या नहीं।एक्सएसएसएफ पीओआई सेल तिथि

उत्तर

12

यदि आप XSSF उपयोगकर्ता मॉडल का उपयोग कर रहे हैं, तो आप DateUtil.isCellDateFormatted(Cell) चाहते हैं - यह एक बूलियन लौटाएगा कि सेल के लिए प्रारूप स्ट्रिंग डेटा का प्रतिनिधित्व करती है या नहीं।

यदि आप निम्न स्तर के XML सामान पर हैं, तो आपको इसके बजाय DateUtil.isADateFormat(int,String) की आवश्यकता है। स्टाइल आईडी सेल एक्सएमएल से आता है। स्टाइल स्ट्रिंग आपको स्टाइल टेबल से बाहर निकलना होगा, जो एक अलग पैकेज पार्ट है। वहाँ लोड करने के लिए सहायकों हैं कि हालांकि

आप शायद बाद करने का एक उदाहरण के लिए XSSFExcelExtractorDecorator from Tika को देखने के लिए चाहते हैं - यह एक घटना पार्स से कोशिकाओं की स्वरूपण करता है।

+0

मैं वास्तव में हूँ कॉपी/पेस्ट http://mail-archives.apache.org/mod_mbox/poi-user/ 200905.mbox/%[email protected]%3E और इसे संशोधित करने का प्रयास करें। हां मैंने उस संभावना को देखा लेकिन सेल को पुनर्प्राप्त करने के बारे में नहीं पता। – Zemzela

+0

क्या आप एक्सएसएसएफ usermodel का उपयोग कर रहे हैं, या घटना मॉडल कच्चे एक्सएमएल सामान कर रहे हैं? – Gagravarr

+0

दूसरा एक :( – Zemzela

0

cell.getCellTypeEnum() == CellType.NUMERIC & & DateUtil.isCellDateFormatted (सेल)

+1

को कवर करने के लिए अपडेट किया गया है यदि आप दिनांक सेल से संबंधित हैं तो सेलटाइप संख्यात्मक है? – araknoid

+0

जब आप DateUtil.isCellDateFormatted (सेल) का उपयोग करते हैं, लेकिन सेलटाइप स्ट्रिंग है, तो "java.lang.IllegalStateException: STRING सेल से NUMERIC मान प्राप्त नहीं कर सकता" @araknoid – laohans

+0

आपको यह विवरण उत्तर में जोड़ना चाहिए और इसे थोड़ा सा समझाएं क्योंकि यह लिखा गया है, यह एक आत्म-व्याख्यात्मक उत्तर नहीं है – araknoid

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

  • कोई संबंधित समस्या नहीं^_^