среда, 24 октября 2012 г.

C# Грузим .xls из ресурсов

На вот эту простенькую задачку, почему-то убила много времени.
Хотя думаю ситуация весьма распространенная, когда хочется запихнуть "*.xsl" в ресурсы приложения, что бы никто их не видел, не изменял и не сносил.
И так:
1. Добавляем файл в ресурсы, как текстовый файл
Project properties ->Resources ->Add Resource ->AddExistingFile
И даем ему имя, я дала _xlsConvertor
File Type у меня text

2. Собственно код загрузки
using System.Resources;


         XslCompiledTransform xslDocument = new XslCompiledTransform();

        string xmlData = MYNAME.Properties.Resources._xlsConvertor;
        XmlReader reader = XmlReader.Create(new StringReader(xmlData));
        xslDocument.Load(reader);

MYNAME - имя главного namespace  моего приложения.
А дальше работаем с XslCompiledTransform  как обычно, я использовала для вывода xml в webBrouser вот так:


            StringWriter stringWriter = new StringWriter();
            XmlWriter xmlWriter = new XmlTextWriter(stringWriter);
            xslDocument.Transform(xmlFile, xmlWriter);
            webBrowser1.DocumentText = stringWriter.ToString();

где xmlFile - строка с именем файла "*.xml"

Моя фотография
http://aal.flamber.ru - мой фотоальбом