Запустите Crystal Report из консольного приложения C# - PullRequest
0 голосов
/ 26 мая 2020

Я написал отчет C# с помощью CrystalReportForm. Я написал это как приложение Windows Forms. (Visual Studio 2015). Он работает хорошо, но мне нужно преобразовать его в консольное приложение, чтобы я мог его автоматизировать.

Я использовал CrystalReportViewer и, возможно, это не лучший подход. Любая помощь / руководство приветствуются.

DSP = new Classes.DSP_Object(txtStartDate.Text);
var crf = new CrystalReportForm();
var dsp = new CrystalReports.DSP_Report();
((TextObject)dsp.ReportDefinition.Sections["Section1"].ReportObjects
["lblWeekOfHeader"]).Text = DSP.lblWeekOfHeader;
//Lots more assignments of object fields to report
    .
    .
    .
crf.crv1.ReportSource = dsp;
crf.Show();
//The report looks great at this point.         

Ответы [ 2 ]

0 голосов
/ 10 июня 2020

Этот вопрос показывает мое незнание в Crystal с C#. Это было легко исправить. Просто нужно было загрузить документ, а не ссылаться на него через программу просмотра.

0 голосов
/ 26 мая 2020

Так как вам нужно запустить его из консольного приложения, я бы не стал пытаться разместить программу просмотра внутри консольного приложения - это не сработает.

Вместо этого вы можете запустить отчет из консоли app, сохраните как pdf и покажите pdf.

После создания отчета вы можете сделать что-то вроде этого:

Process p=new Process();
p.StartInfo.FileName = @"G:\GeneratedCrystalReport.pdf";
p.Start();
...