Dalam aplikasi Web, kita tidak dapat mengekspor laporan seperti aplikasi Windows karena program dijalankan di sisi server, ketika ekspor dijalankan, hasilnya juga ada di sisi server. Sebenarnya tidak sulit, caranya adalah: ekspor laporan ke file laporan sementara yang telah dibuat sebelumnya di situs web tertentu, lalu gunakan perintah respon.redirect() untuk mengarahkan URL browser ke lokasi laporan, sehingga browser pengguna Ini akan mencoba mengunduh file yang baru saja diekspor, dan file tersebut akan diunduh ke klien, sehingga mencapai efek yang kita butuhkan. Bagian kodenya adalah sebagai berikut:
string publik EksporReport()
{
EksporOpsi creo = opsi Ekspor baru();
DiskFileDestinationOptions crdo = DiskFileDestinationOptions() baru;
string FileName = Request.PhysicalApplicationPath + "ExportFileExap.xls"
;
creo = Myrpt.Opsi Ekspor;
creo.ExportFormatType = EksporFormatType.Excel;
creo.ExportDestinationType = EksporDestinationType.DiskFile;
//Setel opsi file disk
crdo.DiskFileName = Nama File;
creo.DestinationOptions = crdo;
//Ekspor laporan
MyRpt.Ekspor();
kembalikan Nama File;
}
private void buttonExport_Click(pengirim objek, System.EventArgs e)
{
string Nama File = Laporan Ekspor();
Response.Redirect(Ganti(NamaFile,Permintaan.PhysicalApplicationPath + "ExportFile",""));
}
Perlu dicatat bahwa saat mengekspor ke web, Anda harus memiliki izin untuk membuat file di direktori ekspor. Jika izin tidak mencukupi, kesalahan "Akses ke file laporan ditolak..." akan muncul. Biarkan saja pengguna ASPNET (pengguna sistem yang dibuat secara otomatis saat menginstal .NET Framework) memiliki izin "menulis" di file direktori ekspor.