2013-02-06 28 views
5

मैं SQLite से Excel (2010) से C# में एक तालिका निर्यात कर रहा हूं। यह बढ़िया काम करता है। मैं Excel.Range.set_Value() विधि का उपयोग कर रहा हूं।सी # इंटरफ़ेस एक्सेल प्रारूप जैसे एक्सेल के प्रारूप तालिका

मैं Excel.Range जैसे Excel's प्रारूप (एक तालिका की तरह) कैसे प्रारूपित कर सकता हूं?

+0

Excel 2010 के अंतर्निहित तालिका शैलियों में से एक को लागू करने के रूप में? आप अपनी रेंज की टेबल स्टाइल संपत्ति को TableStyleMedium1 या किसी भी निर्मित शैलियों में सेट कर सकते हैं। –

उत्तर

10

मेरी टिप्पणी पर विस्तार करने और डी स्टेनली में जोड़ने के लिए।

Range range = ws.get_Range("A1:D5"); 
wrksheet.ListObjects.AddEx(XlListObjectSourceType.xlSrcRange, range, missing, Microsoft.Office.Interop.Excel.XlYesNoGuess.xlNo, missing).Name = "MyTableStyle"; 
wrksheet.ListObjects.get_Item("MyTableStyle").TableStyle = "TableStyleMedium1"; 
+0

धन्यवाद! मैंने इंटरऑप का पुराना संस्करण इस्तेमाल किया है! – Horbert

+0

डेविड येनग्लिन: यह आश्चर्यजनक रूप से काम करता है !, केवल एक समस्या है जिसके बारे में मैं इसके बारे में हूं। मेरे सभी coulmns मूल नाम स्वचालित रूप से कॉलम 1, कॉलम 2, coulmn3, आदि में बदल जाते हैं ....... क्या आप मूल coulmn नाम रखने के लिए जानते हैं? – Mana

+2

ओकी, इसलिए मुझे आपके कोड का थोड़ा सा बदलकर इस समस्या के आसपास मिल गया, XlYesNoGuess.xlNo -> XlYesNoGuess.xlYes – Mana

-1

यहाँ VBA कि यह करता है:

ActiveSheet.ListObjects.Add xlSrcRange, Range("$J$10:$N$12"), , xlYes 

एक स्वचालन कॉल में अनुवाद करने के लिए भी मुश्किल नहीं होना चाहिए। आप read the documentation भी कर सकते हैं।

2

यह उदाहरण सक्रिय शीट में प्रत्येक सेल की आयताकार सीमा का चयन करता है। साथ ही, यह रेंज पॉइंट प्राप्त करने के लिए रेंज के अनुक्रमित पैरामीटर का उपयोग करता है। इसके अलावा, AddEx() (और Interop.Excel में अधिकांश विधियां) डिफ़ॉल्ट पैरामीटर का उपयोग करती हैं, इसलिए आपको System.Reflection.Missing का उपयोग करने की आवश्यकता नहीं है।

// define points for selecting a range 
// point 1 is the top, leftmost cell 
Excel.Range oRng1 = oSheet.Range["A1"]; 
// point two is the bottom, rightmost cell 
Excel.Range oRng2 = oSheet.Range["A1"].End[Excel.XlDirection.xlToRight] 
    .End[Excel.XlDirection.xlDown]; 

// define the actual range we want to select 
oRng = oSheet.Range[oRng1, oRng2]; 
oRng.Select(); // and select it 

// add the range to a formatted table 
oRng.Worksheet.ListObjects.AddEx(
    SourceType: Excel.XlListObjectSourceType.xlSrcRange, 
    Source: oRng, 
    XlListObjectHasHeaders: Excel.XlYesNoGuess.xlYes); 

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

  • कोई संबंधित समस्या नहीं^_^