2009-10-06 12 views
6

क्या कोई जानता है कि Excel कार्यपुस्तिका को आसानी से खोलना और बंद करना है?सी #: मैं Excel कार्यपुस्तिका को कैसे खोल और बंद कर सकता हूं?

मुझे फ़ाइल से किसी भी डेटा को पढ़ने की आवश्यकता नहीं है, मुझे बस इसे खोलने और बंद करने की आवश्यकता है। (*)

मुझे लगता है कि मुझे Microsoft.Office.Interop.Excel असेंबली का संदर्भ देने की आवश्यकता होगी।


* कारण: मैंने पहले से ही किसी तृतीय पक्ष लाइब्रेरी (Aspose) के साथ पिवट तालिका जानकारी कॉन्फ़िगर कर दी है। अब मुझे जेनरेट की गई पिवट टेबल पढ़ने की जरूरत है।

दुर्भाग्यवश, Aspose लाइब्रेरी रनटाइम पर पिवट तालिका उत्पन्न नहीं कर सकती है। इसे किसी को open the file with Excel पर चाहिए ताकि एक्सेल पिवट तालिका मान उत्पन्न कर सके।

उत्तर

8

संदर्भित Microsoft.Office.Interop.Excel भी अंत में में साफ करने के लिए सुनिश्चित करें के बाद।

using Excel = Microsoft.Office.Interop.Excel; 

     Excel.ApplicationClass _Excel; 
     Excel.Workbook WB; 
     Excel.Worksheet WS; 

    try 
     { 

     _Excel = new Microsoft.Office.Interop.Excel.ApplicationClass(); 
     WB = _Excel.Workbooks.Open("FILENAME", 
      Type.Missing, Type.Missing, Type.Missing, Type.Missing, 
      Type.Missing, Type.Missing, Type.Missing, Type.Missing, 
      Type.Missing, Type.Missing, Type.Missing, Type.Missing, 
      Type.Missing, Type.Missing); 

      //do something 

     } 
     catch (Exception ex) 
     { 
      WB.Close(false, Type.Missing, Type.Missing); 

      throw; 
     } 
     finally 
     { 
      GC.Collect(); 
      GC.WaitForPendingFinalizers(); 

      System.Runtime.InteropServices.Marshal.FinalReleaseComObject(WB); 

      System.Runtime.InteropServices.Marshal.FinalReleaseComObject(_Excel); 


     } 
+0

इसे कार्यान्वित करते समय मुझे त्रुटि आई है Microsoft.Office.Interop.Excel.AplicationClass प्रकार के लिए परिभाषित कोई कन्स्ट्रक्टर नहीं है कृपया इसे सुधार के लिए देखें। http://stackoverflow.com/questions/14016264/microsoft-office-interop-excel-applicationclass-has-no-constructor-defined – Desmond

+1

मैं एक्सेल ऐप को बंद करने के लिए आखिरकार '_Excel.Quit()' जोड़ दूंगा। – arthur

0

सिस्टम का उपयोग करने पर विचार करें। डायग्नोस्टिक्स। एक्सेल शुरू करने, मॉनिटर करने और बंद करने के लिए प्रोसेस। यह साइट एक अच्छा परिचय देता है: http://www.thescarms.com/dotnet/Process.aspx, जिसमें अदृश्य विंडो के साथ चलना और इनपुट भेजना शामिल है।

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