Как организовать экспорт из Excel в XML с помощью XmlDocument на С#

программирование программы excel xml

Как организовать экспорт из Excel в XML с помощью XmlDocument на С#???
Я до этого не заворачивался с XmlDocument.., а просто присваивал переменной типа string все значения range а потом сохранял в файл с прописанными вручную откр. и закр. тегами xml., но насяйника сказал нужно это делать через XmlDocument и я долблюсь уже 2 день и ничего не получается.

ВОТ ПРИМЕР КОДА:

//fName путь к файлу
public void xlsToXml(string fName, int distribCode)
{
Excel.Application objExcel = new Excel.Application();
Excel.Workbook objWorkbook = objExcel.Workbooks.Open(fName.ToString(), 0, false, 5, "", "", false, Excel.XlPlatform.xlWindows, "", true, false, 0, true, false, false);
Excel.Worksheet ObjWorkSheet;
ObjWorkSheet = (Excel.Worksheet)objWorkbook.Sheets[1];
Excel.Range rCount;
rCount = ObjWorkSheet.UsedRange;

string tbCode = "A";
for (int i = 1; i <= rCount.Rows.Count; i++)
{

Microsoft.Office.Interop.Excel.Range range = ObjWorkSheet.get_Range(tbCode + i.ToString(), tbCode + i.ToString());

// ЗДЕСЬ НУЖНО ИЗ ПЕРЕМЕННОЙ range ВЫТЯГИВАТЬ ДАННЫЕ И ФОРМИРОВАТЬ ДОКУМЕНТ XML С ПОМОЩЬЮ XmlDocument, XnlNode, XmlElement

}
objExcel.Quit();
}



Помогите кто может !!!

Примечание:
XmlDocument обязательно!!!!

учитывай выше написанный код нужно чтобы был вывод в xml так:

<<?xml version="1.0"?>
<item code="range">
<name>range2</name>
...................................
</item>

Примечание:
PetSerAl, не зря говорят: если яблоко упало, то в этот же момент еще одно яблоко упало где-то (ну как-то так). В общем нашел тоже хороший пример расписанный в книге Карли Ватсона. А вместе вы дали мне ответ на поставленную задачу! Спасибо огромное!
Ответы:
а не проще открывать как открываете, а в xml перегонять через "сохранить как"?
Вам обязательно XmlDocument? XDocument (Linq to XML) Вас не устроит? Покажите, что именно Вы сохраняли в XML, имена элементов и так далее.
using System;
using System.Xml;
internal static class Test{
   private static void Main(){
       try{
           XmlDocument xml=new XmlDocument();
           XmlElement root=xml.CreateElement("item");
           xml.AppendChild(root);
           root.SetAttribute("code","range");
           for(int i=0;i<10;++i){
               XmlElement element=xml.CreateElement("name");
               root.AppendChild(element);
               element.InnerText="range"+i;
           }
           xml.Save(Console.Out);
       }catch(Exception e){
           Console.WriteLine(e);
       }
       Console.ReadKey(true);
   }
}


13 лет назад

RPI.su - самая большая русскоязычная база вопросов и ответов. Наш проект был реализован как продолжение популярного сервиса otvety.google.ru, который был закрыт и удален 30 апреля 2015 года. Мы решили воскресить полезный сервис Ответы Гугл, чтобы любой человек смог публично узнать ответ на свой вопрос у интернет сообщества.

Все вопросы, добавленные на сайт ответов Google, мы скопировали и сохранили здесь. Имена старых пользователей также отображены в том виде, в котором они существовали ранее. Только нужно заново пройти регистрацию, чтобы иметь возможность задавать вопросы, или отвечать другим.

Чтобы связаться с нами по любому вопросу О САЙТЕ (реклама, сотрудничество, отзыв о сервисе), пишите на почту [email protected]. Только все общие вопросы размещайте на сайте, на них ответ по почте не предоставляется.