Надстройка C # / Powerpoint Как сохранить сетку данных в презентации? - PullRequest
0 голосов
/ 06 января 2012

Так что я работал над этой надстройкой ppt. Я сохранял строки, в основном используя хэш тегов, и до сих пор он работал нормально; Тем не менее, теперь мне нужно существенно сохранить 2D-массив в презентации. Я выбрал использование компонента datagridview и поместил его в новую форму.

Как только пользователь вводит свои данные и форма готова к закрытию, я понятия не имею, где сохранить сетку. По сути, я хотел бы получить к нему доступ позже как к некоторому 2D-массиву (возможно, существуют более простые способы доступа к этим данным); Тем не менее, сначала мне нужно сохранить его в презентации, как-то.

PowerPoint просто сериализует весь объект презентации и сохраняет его полностью? В этом случае я могу просто сделать что-то вроде:

PowerPoint.Presentation preso = Globals.ThisAddIn.Application.ActivePresentation;
preso.myGrid = theGridViewFromTheForm;

Или что-то в этом роде?

Идеи

Ответы [ 2 ]

0 голосов
/ 07 мая 2015

Есть два варианта сохранения данных в datagridview.Сначала используется сериализация класса, затем использование Datatable.Второе решение: сериализуйте данные в тексте и сохраните их в тег презентации или слайда.

public static string TableToString(this DataTable data)
    {
        string xmlString = string.Empty;
        using (TextWriter writer = new StringWriter())
        {
            data.WriteXml(writer,XmlWriteMode.WriteSchema );
            xmlString = writer.ToString();
        }
        return xmlString;
    }
0 голосов
/ 04 февраля 2012

Я просто сохранил все, используя теги. Я полагаю, вы можете сохранить вещи другими способами, которые не так очевидны.

...