2011-07-26 8 views
7

मैंने इसे काफी व्यापक रूप से देखा है, लेकिन जो कुछ मैं ढूंढ रहा हूं उसे नहीं मिला है। मैंने पाया है कि दो विधियांमैं सी # में क्लिपबोर्ड का उपयोग किए बिना एक्सेल से छवियों को कैसे सहेजूं?

1: Microsoft.Office.Interop.Excel का उपयोग करके, कार्यपुस्तिका के आकार के माध्यम से Iterate, फिर छवियों को क्लिपबोर्ड पर कॉपी करें और फिर क्लिपबोर्ड डेटा लें और उसे बिटमैप में रखें, फिर अंत में उस बिटमैप को बचाओ। इस विधि के साथ समस्या क्लिपबोर्ड है। हम इसे बहु-थ्रेडेड वातावरण में इस्तेमाल करना चाहते हैं और धागे के बीच क्लिपबोर्ड मुद्दों से डरते हैं। हम क्लिपबोर्ड-लॉकिंग के साथ सौदा नहीं करेंगे।

2: फ़ाइल को .HTML फ़ाइल के रूप में सहेजें, फिर "_files" फ़ोल्डर से छवियों को पकड़ें जहां दस्तावेज़ सहेजा गया है। इसके साथ समस्या यह है कि प्रत्येक छवि के लिए दो छवियां बनाई जाती हैं (1 उच्च रेज, 1 कम रेज), और यह निर्धारित करने का कोई अच्छा तरीका नहीं है कि कौन सी छवियां कम-रेज हैं और कौन सी छवियां उच्च-रेज हैं, क्योंकि इन सभी का नाम है छवि ### और कुछ फाइलें उन्हें उच्च, निम्न, उच्च, निम्न सूचीबद्ध करती हैं, जबकि कुछ उन्हें उच्च, उच्च, निम्न, निम्न सूचीबद्ध करती हैं। इन सभी फ़ाइलों का उपयोग धीमा है और अंतरिक्ष लेता है, जो आदर्श नहीं है। मैं पहलू अनुपात से छवियों की जांच कर सकता हूं, लेकिन यह स्पष्ट रूप से बहुत अच्छा नहीं है क्योंकि एकाधिक छवियों का एक ही पहलू अनुपात हो सकता है।

क्या एक्सेल को पार्स करने का कोई तरीका है। क्लिपबोर्ड का उपयोग किए बिना सीधे बिटमैप (या कोई छवि प्रारूप) के रूप में आकार दें? ऐसा लगता है कि एक रास्ता होना चाहिए, क्योंकि आकार। कॉपी चित्रण विधि इसे क्लिप प्रारूप में एक छवि प्रारूप में भेजने में सक्षम है। अन्यथा, डुप्लीकेट प्राप्त किए बिना नंबर 2 के समान कुछ करने का कोई तरीका है? मैं एक समाधान पसंद करूंगा जो तृतीय पक्ष पुस्तकालयों का उपयोग करने से बचाता है।

धन्यवाद।

उत्तर

25

मुझे लगता है कि आप Excel 2007/2010 प्रारूप का उपयोग करते हैं। प्रत्येक एक्सेल 2007/2010 फ़ाइल एक ज़िप फ़ाइल है! तो बस अपनी फ़ाइल Excel.xlsx से Excel.zip का नाम बदलें। फिर फ़ाइल को फ़ोल्डर में अनजिप करें। छवियां फ़ोल्डर '/ xl/media' में हैं।

इसे मैन्युअल रूप से आजमाएं। इसे जानना, इसके लिए सी # प्रोग्राम लिखकर इसे स्वचालित करना आसान है।

+0

आपकी त्वरित प्रतिक्रिया के लिए धन्यवाद! दुर्भाग्यवश, पुराने कार्य-प्रकारों को कवर करने के लिए मेरा कार्य है। मैं विशेष रूप से .xlsx के लिए एक चेक जोड़ता हूं और इस मार्ग को उन लोगों के साथ जाता हूं, क्योंकि यह छवि डुप्लिकेशंस का एक बड़ा हिस्सा निकाल देगा। एक और मामूली समस्या यह है कि यह विधि चार्टों को छवियों (विधि 2 के विपरीत) के बजाय xml के रूप में सहेजती है, जो आदर्श से कम है। –

+0

मैं अब इस मार्ग के साथ जाने जा रहा हूं, पुराने प्रारूपों को जारी रखने से पहले xlsx में परिवर्तित कर रहा हूं। धन्यवाद फिर से –

+0

किकस चाल !! – ANinJa

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

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