2012-03-16 15 views
6

मैं किसी उपयोगकर्ता को Excel में किसी सेल में कस्टम फ़ॉर्मूला दर्ज करने की अनुमति देने में सक्षम होना चाहता हूं जो बाह्य .NET अनुप्रयोग द्वारा प्रदान किए गए डेटा की सदस्यता लेगा। उदाहरण के लिए, उपयोगकर्ता प्रवेश कर सकते हैं ...किसी .NET स्रोत से फ़ॉर्मूला के माध्यम से एक्सेल स्प्रैडशीट में डेटा खींचने के लिए उचित तकनीक क्या है?

=getCurrentValue("ABC") 

वहाँ एक बाहरी नेट (सी #) अनुप्रयोग है कि "एबीसी" हर मिनट का मूल्य निर्धारित करने जाता है।

सेल को बाहरी एप्लिकेशन से "एबीसी" का प्रारंभिक मान प्रदर्शित करना चाहिए और जब बाहरी एप्लिकेशन एक नया मान भेजता है तो अद्यतन करना चाहिए।

अतीत में मुझे लगता है कि बाहरी एप्लिकेशन एक डीडीई सर्वर होगा और सूत्र डीडीई क्लाइंट फॉर्मूला होगा लेकिन डीडीई स्पष्ट रूप से मर चुका है। ऐसा करने के लिए उपयोग करने के लिए "सही" तकनीक क्या है?

ध्यान दें कि स्प्रेडशीट को सूत्र के माध्यम से डेटा खींचने की आवश्यकता है। जानकारी एक निश्चित टेम्पलेट एक्सेल फ़ाइल में नहीं जा रही है, लेकिन किसी भी स्प्रेडशीट में जिसमें उपयोगकर्ता फॉर्मूला में प्रवेश करता है।

धन्यवाद,

जॉन

+0

Fwiw, मैंने सोचा था कि प्रश्न बहुत स्पष्ट रूप से था आस्के डी, और पूरी तरह से दिमाग उड़ाने के लिए गैर स्वीकार्य उत्तरों में मौजूद असाधारण उच्च स्तर की अपरिवर्तनीयता पाई। – BrainSlugs83

उत्तर

5

एक्सेल RTD (रियल टाइम डाटा) डीडीई के लिए प्रतिस्थापन है। जब भी अपडेट उपलब्ध होते हैं तो यह आपको सेल को मूल्यों को धक्का देने की अनुमति देता है। यदि अद्यतन प्रदान करने की प्रक्रिया एक बाहरी अनुप्रयोग है, तो आरटीडी सर्वर और बाहरी ऐप के बीच एक डब्ल्यूसीएफ चैनल स्थापित करने से आपको एक्सेल में रीयल-टाइम अपडेट खिलाने की अनुमति मिलनी चाहिए।

ये कुछ लिंक कर रहे हैं:

+0

उनके अधिक लेख हैं, http://weblogs.asp.net/kennykerr/pages/My-Articles.aspx पर सूची देखें – quetzalcoatl

-1

आप एक्सेल एपीआई के माध्यम से एक्सेल शीट के साथ संवाद कर सकते हैं:

new Microsoft.Office.Interop.Excel.Application();

+0

हालांकि आप सीएसवी फाइलों पर विचार कर सकते हैं। अधिकांश होस्टिंगप्रोवार्डर्स सर्वर पर सर्वर की अनुमति नहीं देंगे ताकि आप और CSV फ़ाइल को लिख सकें। हालांकि आप माइक्रोसॉफ्ट.ऑफिस.इंटरोप.एक्ससेल के साथ बहुत कुछ कर सकते हैं, आप प्रिंट क्षेत्र और चार्ट भी बना सकते हैं – ydd1987

+1

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

+0

कुछ ऐसा है? oRng = oSheet.get_Range ("सी 2", "सी 6"); oRng.Formula = "= A2 & \" \ "& B2"; – ydd1987