في تطبيقات الويب، لا يمكننا تصدير التقارير مثل تطبيقات Windows لأنه يتم تنفيذ البرنامج من جانب الخادم. عند تنفيذ التصدير، تكون النتائج أيضًا من جانب الخادم. فكيف يمكننا تحقيق التصدير الكامل من جانب العميل؟ في الواقع، هذا ليس بالأمر الصعب، الطريقة هي: تصدير التقرير إلى ملف تقرير مؤقت تم إنشاؤه مسبقًا على موقع ويب معين، ثم استخدام الأمر Response.redirect() لتوجيه عنوان URL للمتصفح إلى موقع التقرير، بحيث سيحاول متصفح المستخدم تنزيل الملف الذي تم تصديره للتو، وسيتم تنزيل الملف إلى العميل، وبالتالي تحقيق التأثير الذي نحتاجه. جزء من الكود كما يلي:
السلسلة العامة ExportReport()
{
ExportOptions creo = new ExportOptions();
DiskFileDestinationOptions crdo = new DiskFileDestinationOptions();
string FileName = Request.PhysicalApplicationPath + "ExportFileExap.xls";
// تعيين خيارات التصدير
كريو = Myrpt.ExportOptions;
creo.ExportFormatType = ExportFormatType.Excel;
creo.ExportDestinationType = ExportDestinationType.DiskFile;
// تعيين خيارات ملف القرص
crdo.DiskFileName = FileName;
crdo
;
MyRpt.Export();
إرجاع اسم الملف؛
}
زر الفراغ الخاصExport_Click(مرسل الكائن، System.EventArgs e)
{
سلسلة اسم الملف = ExportReport();
Response.Redirect(Replace(FileName,Request.PhysicalApplicationPath + "ExportFile"،"));
}
تجدر الإشارة إلى أنه عند التصدير إلى الويب، يجب أن يكون لديك إذن لإنشاء ملفات في دليل التصدير. إذا كانت الأذونات غير كافية، فسيظهر الخطأ "تم رفض الوصول إلى ملف التقرير...". ما عليك سوى السماح لمستخدم ASPNET (مستخدم النظام الذي يتم إنشاؤه تلقائيًا عند تثبيت .NET Framework) بالحصول على أذونات "الكتابة" في ملف دليل التصدير.