2010-04-22 16 views
6
static void Main() 
{ 
    Application excelapp = new Application(); 
    Workbook book = excelapp.Workbooks.Open(@"C:\HWYFAB.xlsx", 
    0, false, 5, "", "", false, XlPlatform.xlWindows , "", 
    true, false, 0, true, false, false); 

    Worksheet sheet = (Worksheet)book.Sheets[1]; 

    Range cell = (Range)sheet.Cells[3, 2]; 
    Console.WriteLine(cell.Text); 
    cell.ClearContents(); 
    book.Close(true, "HWYFAB.xlsx", false); 
    excelapp.Quit(); 
} 

का उपयोग कर एक्सेल स्प्रेडशीट को सहेजना यह प्रोग्राम अपेक्षित रूप से चलता है और बाहर निकलता है। यह कंसोल पर सेल बी 3 में सही मान मुद्रित करता है। इसे बंद करते समय पूछता है कि क्या मैं मौजूदा फाइल को प्रतिस्थापित करना चाहता हूं। मैं हाँ पर क्लिक करता हूं। जब मैं एक्सेल में स्प्रेडशीट खोलता हूं, तब भी सेल सेल के बावजूद सेल बी 3 में होता है। क्लेयरकंट्स()।इंटरऑप सी #

कोई विचार?

उत्तर

5

cell.ClearContents() पर आपका कॉल सेल से सूत्रों और मूल्य स्थिरांक को साफ़ करेगा। यह बिल्कुल काम करना चाहिए। पर परीक्षण करके cell.ClearContents() पर कॉल करने के बाद आप इसकी पुष्टि कर सकते हैं, जो true होना चाहिए।

मुझे विश्वास है कि आपके कोड के साथ समस्या book.Close(true, "HWYFAB.xlsx", false) पर कॉल में है। समस्या यह है कि आप स्पष्ट रूप से अपनी कार्यपुस्तिका के नाम पर गुजर रहे हैं, लेकिन आप पथ छोड़ रहे हैं। (ध्यान दें कि जब आप कार्यपुस्तिका खोलते हैं तो आप "सी: \" निर्देशिका सहित पूर्ण पथ शामिल कर सकते हैं।) जब आप सहेजते हैं तो कार्यपुस्तिका के पूर्ण पथ को छोड़कर, आप वर्तमान निर्देशिका में सहेज रहे हैं, जो " मेरे दस्तावेज़ "या कहीं और।

यदि आप कार्यस्थल को अपने मूल स्थान पर सहेजना चाहते हैं, तो आपको पैरामीटर के लिए Type.Missing में पास करना चाहिए। उदाहरण के लिए:

book.Close(true, Type.Missing, false); 

यह विचार अनचाहे है, लेकिन मुझे पूरा विश्वास है कि यह आपके लिए काम करना चाहिए। इसे आज़माएं ...

- माइक

+0

यह चाल है। यह बहुत अजीब बात है, मैंने अपने कंप्यूटर पर सभी HWYFAB.xlsx प्रतियों के लिए एक खोज की, और सी: \ में केवल एक ही था। धन्यवाद। – Wesley

+0

बहुत अजीब ... आपको लगता है कि आपको गैर अनुक्रमित स्थानों को खोजने का प्रयास करना पड़ सकता है, मुझे लगता है? खुशी है कि आप अपनी समस्या पिछले हैं! –

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