2013-09-21 7 views
6

का उपयोग कर एक्सेल एक्सएमएल स्प्रेडशीट बनाने के लिए कदम हमें एक्सएमएल प्रारूप में एक्सेल शीट में डेटा निर्यात करने की आवश्यकता है जैसे कि एक नई एक्सएमएल स्प्रेडशीट बनाने के लिए मैंने excel xml Spreadsheet बनाने के लिए इस लिंक का पालन किया है। इस लिंक में उन्होंने नमूनासी #

< ?xml version="1.0"?> 
< ?mso-application progid="Excel.Sheet"?> 
<workbook xmlns="urn:schemas-microsoft-com:office:spreadsheet" 
xmlns:o="urn:schemas-microsoft-com:office:office" 
xmlns:x="urn:schemas-microsoft-com:office:excel" 
xmlns:ss="urn:schemas-microsoft-com:office:spreadsheet" 
xmlns:html="http://www.w3.org/TR/REC-html40"> 
<documentproperties xmlns="urn:schemas-microsoft-com:office:office"> 
<author>Author</author> 
<lastauthor>LastAuthor</lastauthor> 
<created>11-09-2007</created> 
<version>12.00</version> 
</documentproperties> 
<excelworkbook xmlns="urn:schemas-microsoft-com:office:excel"> 
<protectstructure>False</protectstructure> 
<protectwindows>False</protectwindows> 
</excelworkbook> 
</workbook> 

जहाँ मैं, सी # परियोजना में इस प्रारूप को परिभाषित करने के उपरोक्त कोड मैं लेखक और पिछले लेखक के बारे में जानकारी प्राप्त करने की आवश्यकता में की जरूरत है डेटाबेस से बाध्य करने के लिए की जरूरत का उल्लेख किया गया है ....

कि लिंक वह दस्तावेज़ बनाने के लिए पूरी तरह से उल्लेख नहीं किया गया है में ...

मैं बनाना चाहते हैं एक ExcelXml spread sheet क्या कदम है कि मैं पालन करने की आवश्यकता कर रहे हैं, मुझे लगता है कि संग्रहीत किया जाएगा एक पूर्वनिर्धारित प्रारूप बनाने के लिए की जरूरत है परियोजना में ...

हम खुले एक्सएमएल एसडीके तक पहुंचने में सक्षम हैं, लेकिन एक्सेल स्प्रैडशीट के अंदर एक्सएमएल प्रारूप बनाने के लिए मुझे कोई नमूना समाधान मिल रहा है, क्या open XML SDK के साथ एक ही काम करना संभव है, और यदि यह संभव है तो क्या आप मुझे सही दिशा में इंगित करेंगे। ..

किसी भी एक किसी भी विचार है और किसी भी समाधान है कि मेरे लिए बहुत आभारी होंगे ....

अग्रिम

+1

आपके पास एक टेम्पलेट स्प्रेडशीट हो सकती है और बस एक प्रति टेम्पलेट आदर्श होगा, तो इसे कॉपी करें। –

+0

अधिकांश समय हम केवल आधार speadsheet बनाते हैं और इसे एक्सएसएलटी के साथ बदलते हैं। –

+0

मैं अत्यधिक क्लोज़ेडएक्सएमएल जैसे कुछ का उपयोग करने की सलाह देता हूं। OpenXML API का उपयोग करने का प्रयास करना भयानक है। – aquinas

उत्तर

0

में कई धन्यवाद एक टेम्पलेट here

से लिया निम्न प्रयास असफल है
using System.IO; 
using DocumentFormat.OpenXml; 
using DocumentFormat.OpenXml.Packaging; 
using DocumentFormat.OpenXml.Spreadsheet; 

public static void CreateSpreadsheetWorkbook(string filepath) 
    { 
     // Create a spreadsheet document by supplying the filepath. 
     // By default, AutoSave = true, Editable = true, and Type = xlsx. 

     SpreadsheetDocument spreadsheetDocument = SpreadsheetDocument.Create(filepath, SpreadsheetDocumentType.Workbook); 

     // Add a WorkbookPart to the document. 
     WorkbookPart workbookpart = spreadsheetDocument.AddWorkbookPart(); 
     workbookpart.Workbook = new Workbook(); 

     // Add a WorksheetPart to the WorkbookPart. 
     WorksheetPart worksheetPart = workbookpart.AddNewPart<WorksheetPart>(); 
     worksheetPart.Worksheet = new Worksheet(new SheetData()); 

     // Add Sheets to the Workbook. 
     Sheets sheets = spreadsheetDocument.WorkbookPart.Workbook.AppendChild<Sheets>(new Sheets()); 

     // Append a new worksheet and associate it with the workbook. 
     Sheet sheet = new Sheet() { Id = spreadsheetDocument.WorkbookPart.GetIdOfPart(worksheetPart), SheetId = 1, Name = "mySheet" }; 
     sheets.Append(sheet); 

     workbookpart.Workbook.Save(); 

     // Close the document. 
     spreadsheetDocument.Close(); 
    } 

// Called using 
CreateSpreadsheetWorkbook("C:\\Test\\Test.xlsx"); 

संपादित करें: आप निम्नलिखित कोड का उपयोग कर उत्कृष्टता प्राप्त करने एक्सएमएल परिवर्तित कर सकते हैं:

Workbook workbook = new Workbook(); 
workbook.LoadFromFile(@"../../Data/test.xml"); 
workbook.SaveToFile(@"..\..\result.xlsx", ExcelVersion.Version2010); 

आप वास्तव में किसी Office एक्सएमएल दस्तावेज़ बनाने चाहते हैं, मैं कैसे एक xml फ़ाइल से है कि प्रक्रिया को स्वचालित करने के लिए के रूप में अनिश्चित हूँ। this for some pointers

+0

क्या यह एक्सेल शीट –

+0

के अंदर xml प्रारूप डेटा बनाता है, इसके लिए धन्यवाद, एक संदेह यह है कि मुझे इन सभी को रखने की आवश्यकता है, यह सी # कक्षा फ़ाइल में है या यह xml फ़ाइल में है ... ' ' –

+0

निर्यात करने के लिए, क्या मुझे पहले एक्सएमएल प्रारूप बनाने की आवश्यकता है और फिर एक्सेल शीट में निर्यात करें .. इस तरह से सही है ... –

0

पर एक नज़र डालें, आप इस कार्य के लिए ओपनएक्सएमएल एसडीके का उपयोग कर सकते हैं।

ओपनएक्सएमएल एसडीके का उपयोग करना आसान नहीं है, एक साधारण एप्लिकेशन के लिए आप एक रैपर का उपयोग कर बेहतर हैं।

JumboExcel प्रोजेक्ट (प्रकटीकरण: मैं लेखक हूं) पर एक नज़र डालें।

एक स्प्रेडशीट बनाना निम्नलिखित के रूप में के रूप में आसान है:

var tempFileName = Path.Combine(Path.GetTempPath(), Guid.NewGuid() + ".xlsx"); 
using (var file = new FileStream(tempFileName, FileMode.CreateNew)) 
{ 
    OpenXmlBuilder.Write(
     file, 
     new[] { 
      new Worksheet(
       "Parameters", 
       null, 
       new Row(new InlineString("Name"), new InlineString("Value")), 
       new Row(new InlineString("Height"), new DecimalCell(123m)) 
      ) 
     } 
    ); 
} 
Process.Start(tempFileName); 

इसके अलावा, आप तलाश कर सकते हैं स्रोतों Github page पर सूत्रों का कहना है देख सकते हैं और अधिक उदाहरण के लिए DemoTests पर एक नज़र डालें।