Формирование отчета в Excel
Формирование отчета в Excel
Добрый день.
Мне необходимо реализовать следующее.
После запуска отчета и выбора периода данных, необходимо, чтобы при нажатиии на кнопку запуска отчета, отчет формировался сразу в Excel. Возможно ли сделать такое только средствами StimulReports?
Спасибо.
Мне необходимо реализовать следующее.
После запуска отчета и выбора периода данных, необходимо, чтобы при нажатиии на кнопку запуска отчета, отчет формировался сразу в Excel. Возможно ли сделать такое только средствами StimulReports?
Спасибо.
Формирование отчета в Excel
Здравствуйте,
Да, это возможно.
В WinForms:
В web:
Спасибо.
Да, это возможно.
В WinForms:
Код: Выделить всё
StiPreviewForm form = new StiPreviewForm(report);
form.ViewerControl.ProcessExport += new EventHandler(ViewerControl_ProcessExport);
report.Render();
form.ShowDialog();
void ViewerControl_ProcessExport(object sender, EventArgs e)
{
if (sender is StiExcelExportService)
{
StiExcelExportSettings settings = new StiExcelExportSettings();
settings.ImageResolution = 300;
settings.ImageQuality = 1;
string myFileName = "D:\\MyFile.xls";
report.ExportDocument(StiExportFormat.Excel, myFileName, settings);
Process.Start(string.Format("\"{0}\"", myFileName));
}
else
{
(sender as StiExportService).Export(report);
}
}
Код: Выделить всё
StiReportResponse.ResponseAsExcel2007(this, report)
Формирование отчета в Excel
Это нужно сделать из кода отчета без изменения кода winforms/Edward писал(а):Здравствуйте,
Да, это возможно.
В WinForms:
В web:Код: Выделить всё
StiPreviewForm form = new StiPreviewForm(report); form.ViewerControl.ProcessExport += new EventHandler(ViewerControl_ProcessExport); report.Render(); form.ShowDialog(); void ViewerControl_ProcessExport(object sender, EventArgs e) { if (sender is StiExcelExportService) { StiExcelExportSettings settings = new StiExcelExportSettings(); settings.ImageResolution = 300; settings.ImageQuality = 1; string myFileName = "D:\\MyFile.xls"; report.ExportDocument(StiExportFormat.Excel, myFileName, settings); Process.Start(string.Format("\"{0}\"", myFileName)); } else { (sender as StiExportService).Export(report); } }
Спасибо.Код: Выделить всё
StiReportResponse.ResponseAsExcel2007(this, report)
Спасибо.
Формирование отчета в Excel
Здравствуйте,
Напишите такой код в событии EndRenderEvent отчета:
Thank you.
Напишите такой код в событии EndRenderEvent отчета:
Код: Выделить всё
this.ExportDocument(StiExportFormat.Excel, "d:\\test.xls");
Process.Start("d:\\test.xls");
Формирование отчета в Excel
Не срабатывает.Jan писал(а):
Process.Start("d:\\test.xls");
Если пробовать без этой строчки, при открытии сформированного документа, приходится форматировать ячейки вручную (для отображения данных в ячейке полностью), возможно ли выставить автоматичекое форматирование при выгрузке?
Спасибо.
Формирование отчета в Excel
Здравствуйте,
Вы не могли бы уточнить, что значит 'для отображения данных в ячейке полностью'? Происходит обрезка текста в ячейке?
Если проблема с датами, то эта информация решит проблему:
При экспорте в Excel по умолчанию дата и время экспортируются как текст,
хотя формат ячейки и установлен в Date или Time.
Это связано с тем, что в отрендеренном отчете дата и время хранятся в виде текстовых строк.
Можно включить экспорт этих величин с помощью статического свойства:
StiOptions.Export.Excel.AllowExportDateTime = true;
При экспорте будет происходить парсинг текстовых строк следующим кодом:
DateTime dt = DateTime.Parse(value, CultureInfo.InstalledUICulture);
и далее полученные величины будут записаны в Excel в формате по умолчанию.
Поэтому для правильного парсинга необходимо позаботиться, чтобы в текстовых строках
дата и время были записаны с теми региональными настройками, которые используются в системе.
Спасибо.
Вы не могли бы уточнить, что значит 'для отображения данных в ячейке полностью'? Происходит обрезка текста в ячейке?
Если проблема с датами, то эта информация решит проблему:
При экспорте в Excel по умолчанию дата и время экспортируются как текст,
хотя формат ячейки и установлен в Date или Time.
Это связано с тем, что в отрендеренном отчете дата и время хранятся в виде текстовых строк.
Можно включить экспорт этих величин с помощью статического свойства:
StiOptions.Export.Excel.AllowExportDateTime = true;
При экспорте будет происходить парсинг текстовых строк следующим кодом:
DateTime dt = DateTime.Parse(value, CultureInfo.InstalledUICulture);
и далее полученные величины будут записаны в Excel в формате по умолчанию.
Поэтому для правильного парсинга необходимо позаботиться, чтобы в текстовых строках
дата и время были записаны с теми региональными настройками, которые используются в системе.
Спасибо.
Формирование отчета в Excel
Я, видимо, не верно сформулировала вопрос.
Данные выводятся все, только ячейки сжатые и данные отображаются в виде "###", приходится вручную растягивать ячейки. Возможно ли сформировать файл с автоматиски растянутыми ячейками?
И как все-таки сделать, чтобы заработало Process.Start("d:\\test.xls")?
спасибо.
Данные выводятся все, только ячейки сжатые и данные отображаются в виде "###", приходится вручную растягивать ячейки. Возможно ли сформировать файл с автоматиски растянутыми ячейками?
И как все-таки сделать, чтобы заработало Process.Start("d:\\test.xls")?
спасибо.
Формирование отчета в Excel
Здравствуйте,
Вы не могли бы выслать шаблон Вашего отчета (mrt файл) и построенный отчет (mdc файл, можно сохранить в preview) на support@stimulsoft.com для анализа этой проблемы.
Проверьте, пожалуйста, что файл 'test.xls' создается и находится на d: (местоположение не принципиально, главное чтобы программа имела доступ к сгенерированному файлу)
Process.Start("d:\\test.xls")
Получаете лы Вы сообщение об ошибке?
Спасибо.
Вы не могли бы выслать шаблон Вашего отчета (mrt файл) и построенный отчет (mdc файл, можно сохранить в preview) на support@stimulsoft.com для анализа этой проблемы.
Проверьте, пожалуйста, что файл 'test.xls' создается и находится на d: (местоположение не принципиально, главное чтобы программа имела доступ к сгенерированному файлу)
Process.Start("d:\\test.xls")
Получаете лы Вы сообщение об ошибке?
Спасибо.
Формирование отчета в Excel
1. В событие EndRenderEvent отчета добавляю код:
this.ExportDocument(StiExportFormat.Excel, "C:\\test.xls");
Process.Start("C:\\test.xls");
Отчет не строится, выводится ошибка:
c:\Documents and Settings\Natalya\Local Settings\Temp\s5a0owzv.0.cs(211,1) : error CS0103: The name 'Process' does not exist in the current context
2. Если строку
Process.Start("C:\\test.xls");
закоментировать, отчет строится. Файл test.xls сохраняется на указанный диск, но автоматичеки не открывается.
3. Шаблон отчета (mrt файл), построенный отчет (mdc файл) и xls файл выслала на указанный ящик.
Спасибо.
this.ExportDocument(StiExportFormat.Excel, "C:\\test.xls");
Process.Start("C:\\test.xls");
Отчет не строится, выводится ошибка:
c:\Documents and Settings\Natalya\Local Settings\Temp\s5a0owzv.0.cs(211,1) : error CS0103: The name 'Process' does not exist in the current context
2. Если строку
Process.Start("C:\\test.xls");
закоментировать, отчет строится. Файл test.xls сохраняется на указанный диск, но автоматичеки не открывается.
3. Шаблон отчета (mrt файл), построенный отчет (mdc файл) и xls файл выслала на указанный ящик.
Спасибо.
Формирование отчета в Excel
NatNiM, попробуйте написать вместо Process.Start(...) это:
System.Diagnostics.Process.Start("C:\\terst.xls");
System.Diagnostics.Process.Start("C:\\terst.xls");