Итак, с трудом разобрался, т.к. вы не указали, как и где использовать этот код. Сейчас поясню, для тех, кому понадобится.
Вот такой код будет работать, строго
после вызова метода .Render()
Код: Выделить всё
StiSettings.Set("StiExcelSetupForm", "ImageResolution", 5);
StiSettings.Set("StiExcelSetupForm", "ImageQuality", "75"); // здесь
Для ImageResolution указываем индекс из ComboBox'а (Кнопка Сохранить->Файл Excel.../Разрешение изображения):
0 == 10, 1 == 25, 2 == 50, 3 == 75, 4 == 100, 5 == 200, 6 == 300, 7 == 400, 8 == 500.
Ещё один важный момент по поводу как раз-таки индексов. Когда я этого не знал и выполнил вот такой код
Код: Выделить всё
StiSettings.Set("StiExcelSetupForm", "ImageResolution", 200);
, то потом при нажатии кнопки "Сохранить->Файл Excel..." потом получал странного вида Exception, что-то вроде "SelectedIndex == 200 was not found".
С помощью небезызвестной утилиты Procmon от SysInternals выяснил, что по адресу на локальном диске (в моём случае это C:\Users\leon\AppData\Local\Stimulsoft\) в файле Stimulsoft.Report.settings появилась строка вида:
Код: Выделить всё
<Category Name="StiExcelExportSetupForm">
<Item Key="ImageResolution" Value="200" Type="System.Int32" />
....
</Category>
Что и приводило к Exception'у, но только на локальном компьютере для разработки, у пользователей такого файла не было, и соответственно было всё нормально. Имейте это в виду.
И ещё вопрос, вот, сейчас, получается установка индекса вместо значения это своего рода workaround, т.е. в следующих предрелизных билдах, вы это исправите на нужное значение, а не индекс и как это узнать? Т.е. там ведь не будет свойства deprecated, а просто будет нужное значение, и получается, что мы при обновлении будем выставлять его уже не в 200, а в 5.