यह मूर्खतापूर्ण प्रतीत होता है, लेकिन मैं #/####
के प्रारूप में अपने मान प्राप्त करने में सक्षम नहीं हूं, एक्सेल के भीतर दिनांक के रूप में स्वरूपित होने के बजाय शाब्दिक स्ट्रिंग के रूप में लिखने के लिए ।"दिनांक की तरह" डेटा के साथ टेक्स्ट के रूप में एक्सेल सेल प्रारूप रखें
मैं ClosedXML उपयोग कर रहा हूँ उत्कृष्टता प्राप्त करने में लिखने के लिए, और का उपयोग कर निम्न:
// snip
IXLRangeRow tableRow = tableRowRange.Row(1);
tableRow.Cell(1).DataType = XLCellValues.Text;
tableRow.Cell(1).Value = "2/1997";
// snip
उत्पादन को देखते हुए उत्कृष्टता चादर मैं सेल 2/1/1997
में मिलता है - भले ही मैं में पाठ के रूप में प्रारूप सेट कर रहा हूं कोड, मैं एक्सेल शीट में "डेट" के रूप में इसे प्राप्त कर रहा हूं - मैंने प्रारूप के रूप में "दिनांक" को देखकर, सेल पर क्लिक करके सेल को प्रारूपित करके चेक किया।
अगर मैं करने के लिए चीजों को बदलना:
// snip
IXLRangeRow tableRow = tableRowRange.Row(1);
tableRow.Cell(1).Value = "2/1997";
tableRow.Cell(1).DataType = XLCellValues.Text;
// snip
मैं बजाय मेरी आउटपुट के रूप में 35462
मिलता है।
मैं वर्कशीट पर प्रदर्शित होने के लिए 2/1997
का अपना शाब्दिक मूल्य चाहता हूं। कृपया सही करने के बारे में सलाह दें।
यह मेरे लिए काम करता था लेकिन क्या कोई इस पर काम कर सकता है कि यह क्यों काम करता है ?? – jaredbaszler
मैं यह जानने के लिए ऊपर दिए गए कोड को भी ट्रिम करने में सक्षम था कि मेरा 'फ़ील्ड वैल्यू' पहले से ही एक स्ट्रिंग था: 'ws.Cell (rowCounter, colCounter) .SetValue (fieldValue); ' – jaredbaszler
@jaredbaszler यह एक दस्तावेज है ClosedXML के लिए विकी। यदि आप सेल का उपयोग करके एक मान निर्धारित करते हैं। वैल्यू = ब्लाह यह हमेशा आपके लिए मानों का स्वचालित रूपांतरण करता है, इसलिए यह स्वचालित रूप से स्ट्रिंग को एक तिथि के रूप में पहचानता है और इसे परिवर्तित करता है (एक्सेल जैसे ही डिफ़ॉल्ट रूप से एक्सेल सीएसवी फाइलों के साथ करता है)। हालांकि सेल.SetValue() विशेष रूप से इससे बचाता है और यदि मान एक स्ट्रिंग है, तो यह Excel फ़ाइल में एक स्ट्रिंग बनी हुई है। –