كيف يمكن إنشاء ملف PDF من تعريف تقرير مضمن بدون خادم أو واجهة مستخدم؟

StackOverflow https://stackoverflow.com/questions/138203

  •  02-07-2019
  •  | 
  •  

سؤال

هل من الممكن لبرنامج مستقل قابل للتنفيذ إنشاء تقرير وإخراجه بصيغة PDF (أو أحد خيارات التصدير الأخرى المتاحة من عارض التقارير) دون عرض عنصر تحكم ReportViewer؟

يجب أن يكون تعريف التقرير مضمنًا في الملف القابل للتنفيذ ويجب ألا يستخدم خدمة ويب خدمات التقارير.

هل كانت مفيدة؟

المحلول

في الواقع، لا تحتاج إلى ReportViewer على الإطلاق، يمكنك إنشاء مثيل LocalReport مباشرةً واستخدامه:

LocalReport report = new LocalReport();
report.ReportPath = "templatepath";
// or use file from resource with report.ReportEmbeddedResource

// add parameters, datasource, etc.

Warning[] warnings;
string[] streamids;
string mimeType;
string encoding;
string filenameExtension;

byte[] bytes;
bytes =report.Render("PDF", null, out mimeType, out encoding, out filenameExtension, out streamids, out warnings);

// save byte[] to file with FileStream or something else

نصائح أخرى

ليس عليك إظهار عنصر التحكم نفسه.

ReportViewer rv = new ReportViewer();
rv.LocalReport.ReportPath = "templatepath";
// or use file from resource with rv.LocalReport.ReportEmbeddedResource

// add parameters, datasource, etc.

Warning[] warnings;
string[] streamids;
string mimeType;
string encoding;
string filenameExtension;

byte[] bytes;
bytes = rv.LocalReport.Render("PDF", null, out mimeType, out encoding, out filenameExtension, out streamids, out warnings);

// save byte[] to file with FileStream or something else

ومع ذلك، يمكنه عرض ملفات PDF وXLS فقط (حيث لا يمكن لعنصر تحكم ReportViewer التصدير إلى Word وغيره كما تفعل خدمة Reportig).

نسيت أن أذكر أن الكود أعلاه هو C#، وذلك باستخدام .NET Framework والتحكم ReportViewer.الدفع GotReportViewer لبداية سريعة.

هل يمكنك تمرير تقرير .rdlc مباشرة إلى pdf مع المعلمات؟لدي قائمتان منسدلتان يمكنني سحب تقريري بهما.لا يمكنني تشغيل المعلمات عند التصدير تلقائيًا إلى ملف pdf.هنا هو الخطأ الذي أحصل عليه:Microsoft.ReportingServices.ReportProcessing.ReportProcessingException:لم يتم تحديد معلمة واحدة أو أكثر مطلوبة لتشغيل التقرير.

تعمل القوائم المنسدلة عندما أستخدم عارض التقارير، لكني أريد تخطي هذه الخطوة.يمكنني أيضًا تحويل بياناتي مباشرةً إلى ملف pdf إذا لم يكن يحتوي على أي معلمات.قوائمي المنسدلة تسمى ddlyear وddlmonth.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top