Сериализация/десериализация StiReport

Обсуждение Stimulsoft Reports.NET
Ответить
SergeyFS
Сообщения: 10
Зарегистрирован: 14 июл 2016, 15:20

Сериализация/десериализация StiReport

Сообщение SergeyFS »

Добрый день.

Возникла потребность сериализации и десериализации объекта StiReport.

Подскажите, как использовать StiSerializing?

Наша сериализация (после StiReport.Render(false)):

Код: Выделить всё

string reportSer = null;
StiSerializing ser = new StiSerializing();               
using (var stream = new MemoryStream())
{
         ser.Serialize(report, stream, "Stimulsoft");
         stream.Position = 0;
         var sr = new StreamReader(stream);
         reportSer = sr.ReadToEnd();
}
в reportSer получим строку с сериализованным отчетом.

Десериализуем эту строку:
StiReport report = null;

Код: Выделить всё

using (var stream = GenerateStreamFromString(reportSer))
{
        ser.Deserialize(report, stream, "Stimulsoft");
}
В объекте report остается null ='-(

Подскажите как быть)

UPDATE

Код: Выделить всё

StiSerializing ser = new StiSerializing();                
                using (var stream = new MemoryStream())
                {
                    ser.Serialize(report, stream, "Stimulsoft");
                    stream.Position = 0;
                    ser.Deserialize(report, stream, "Stimulsoft");
                }
Падает на ser.Deserialize(report, stream, "Stimulsoft"); с ошибкой:
"StiBorderConverter не может выполнить преобразование из System.String."

В сериализованном отчете по поиску Border были только вхождения вида "<Border>Нет</Border>" и "<Border>Со всех сторон</Border>"
Что-то делаем неправильно?
HighAley
Сообщения: 1998
Зарегистрирован: 08 июн 2011, 11:36
Откуда: Stimulsoft Office

Re: Сериализация/десериализация StiReport

Сообщение HighAley »

Здравствуйте.

У нас есть уже готовые методы для этого. Вы можете использовать метод SaveDocument(System.IO.Stream stream) для сохранения построенного отчёта и метод void Save(System.IO.Stream stream) для сохранения шаблона. Загружать их можно с помощью методов LoadDocument(System.IO.Stream stream) и Load(System.IO.Stream stream) соответственно.

Спасибо.
SergeyFS
Сообщения: 10
Зарегистрирован: 14 июл 2016, 15:20

Re: Сериализация/десериализация StiReport

Сообщение SergeyFS »

Спасибо, помогло!)
HighAley
Сообщения: 1998
Зарегистрирован: 08 июн 2011, 11:36
Откуда: Stimulsoft Office

Re: Сериализация/десериализация StiReport

Сообщение HighAley »

Здравствуйте.

Мы всегда рабы вам помочь.
Обращайтесь, если ещё надо будет помощь.

Спасибо.
Ответить