Image. Экспорт в Excel.

Обсуждение Stimulsoft Reports.Net
Ответить
Леонид
Сообщения: 328
Зарегистрирован: 23 июл 2009, 05:53

Image. Экспорт в Excel.

Сообщение Леонид » 18 апр 2019, 08:59

Добрый день, коллеги!

Подскажите, как сделать так, чтобы при экспорте в Excel компонента Image установить свойство каждого изображения "Перемещать и изменять объект вместе с ячейками" (Excel)?
На данный момент по умолчанию при экспорте изображений установлено свойство "Перемещать, но не изменять размеры".
Вложения
Clipboard01.png
Clipboard01.png (90.9 КБ) 616 просмотров
Aleksey
Сообщения: 2033
Зарегистрирован: 22 апр 2010, 02:57

Re: Image. Экспорт в Excel.

Сообщение Aleksey » 23 апр 2019, 14:20

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

Добавили опцию:
StiOptions.Export.Excel.ImageMoveAndSizeWithCells

Будет в следующем билде.

Спасибо.
Леонид
Сообщения: 328
Зарегистрирован: 23 июл 2009, 05:53

Re: Image. Экспорт в Excel.

Сообщение Леонид » 23 апр 2019, 14:26

Отлично!

Примерно когда можно ожидать билд?
Andrew
Сообщения: 555
Зарегистрирован: 09 июн 2006, 08:22

Re: Image. Экспорт в Excel.

Сообщение Andrew » 24 апр 2019, 07:22

Здравствуйте, Леонид.

Я думаю в течение 2-х - 3-х недель. Точно не раньше.

Спасибо.
Леонид
Сообщения: 328
Зарегистрирован: 23 июл 2009, 05:53

Re: Image. Экспорт в Excel.

Сообщение Леонид » 12 авг 2019, 13:45

Проверили на версии "Stimulsoft Reports.Net 2019.3.1".
Всё работает как нужно с флагом StiOptions.Export.Excel.ImageMoveAndSizeWithCells = true.
Спасибо!
Aleksey
Сообщения: 2033
Зарегистрирован: 22 апр 2010, 02:57

Re: Image. Экспорт в Excel.

Сообщение Aleksey » 13 авг 2019, 07:21

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

Отлично. Дайте знать, если будут еще вопросы.

Спасибо.
Леонид
Сообщения: 328
Зарегистрирован: 23 июл 2009, 05:53

Re: Image. Экспорт в Excel.

Сообщение Леонид » 29 ноя 2019, 13:31

Коллеги, добрый день!

Подскажите, пожалуйста по флагу StiOptions.Export.Excel.ImageMoveAndSizeWithCells.
Да, он работает, но когда мы рендерим отчёт, а потом сохраняем Excel файл из меню, то всё работает.

Но почему-то когда

// create report
StiReport stiReport = new StiReport()
{
ReportAlias = reportCaption,
ReportName = reportCaption,
IsRendered = false
};
...

// set Excel export settings
StiExportSettings exportSettings = new StiExcel2007ExportSettings()
{
ImageQuality = 100,
ImageResolution = 500,
};

StiOptions.Export.Excel.ImageMoveAndSizeWithCells = true; <--- ставим флаг

// export report to stream
stiReport.ExportDocument(StiExportFormat.Excel, ms, exportSettings); <-- но при экспорте этой процедурой он не работает

// save stream to file
using (FileStream file = new FileStream(exportFileName, FileMode.Create, FileAccess.Write))
{
ms.WriteTo(file);
}
Леонид
Сообщения: 328
Зарегистрирован: 23 июл 2009, 05:53

Re: Image. Экспорт в Excel.

Сообщение Леонид » 03 дек 2019, 07:50

Коллеги, добрый день!

Перепробовал все варианты, - нашёл рабочий.
Необходимо создать StiExcelExportService, а затем экспортировать методом .ExportTo() этой службы (StiExcelExportService).
Вопрос решён.

Вот рабочий сниппет, если кому-то понадобится:

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

        // render report
        stiReport.Render(false);

        // create stream
        using (MemoryStream ms = new MemoryStream())
        {
          StiOptions.Export.Excel.ImageMoveAndSizeWithCells = true;

          // set Excel export settings
          StiExportSettings exportSettings = new StiExcel2007ExportSettings()
          {
            ImageQuality = imageQuality, // Качество изображения: 25, 50, 75, 100
            ImageResolution = imageResolution // Разрешение изображения: 10, 25, 50, 75, 100, 200, 300, 400, 500
          };

          // export report to stream
          StiExcelExportService exportSrv = new StiExcelExportService(); <--- создаём экземпляр сервиса
          exportSrv.ExportTo(stiReport, ms, exportSettings); <--- экспортируем в .xlsx

          // delete existing file
          if (File.Exists(exportFileName))
            File.Delete(exportFileName);

          // save stream to file
          using (FileStream file = new FileStream(exportFileName, FileMode.Create, FileAccess.Write))
          {
            ms.WriteTo(file);
          }
        }
Andrew
Сообщения: 555
Зарегистрирован: 09 июн 2006, 08:22

Re: Image. Экспорт в Excel.

Сообщение Andrew » 03 дек 2019, 08:01

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

Спасибо, что выложили решение здесь. Будет очень полезно всем.

Еще раз спасибо.
Ответить