程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> .NET實例教程 >> 如何讓Web應用程序在Client端實現導出報表功能

如何讓Web應用程序在Client端實現導出報表功能

編輯:.NET實例教程

    在Web應用程序中,我們無法像在Windows應用程序那樣導出報表,因為程序是在服務器端執行的,執行導出時,其結果也是在服務器端,那應該如何才能實現完整的客戶端導出呢?其實這個也不難,方法是:把報表指定導出到某個網站上事先建立好的報表暫存文件,然後利用response.redirect()指令,將浏覽器網址指向該報表位置,這樣用戶的浏覽器就會嘗試下載剛導出的文件,文件就會被下載到客戶端,從而實現我們需要的效果。 部分代碼如下:

public string ExportReport()
{
    ExportOptions creo = new ExportOptions();
    DiskFileDestinationOptions crdo = new DiskFileDestinationOptions();
    string FileName = Request.PhysicalApplicationPath + "ExportFile\Exap.xls";

    //設置導出選項
    creo = Myrpt.ExportOptions;
    creo.ExportFormatType = ExportFormatType.Excel;
    creo.ExportDestinationType = ExportDestinationType.DiskFile;

    //設置磁盤文件選項
    crdo.DiskFileName = FileName;
    creo.DestinationOptions = crdo;

    //導出報表
    MyRpt.Export();
    return FileName;
}

private void buttonExport_Click(object sender, System.EventArgs e)
{
    string FileName = ExportReport();
    Response.Redirect(Replace(FileName,Request.PhysicalApplicationPath + "ExportFile\",""));
}


要注意的是:當在web中進行導出時,需要對導出目錄具有建立文件的權限,如果權限不足,將會出現“拒絕訪問報表文件……”的錯誤。 讓ASPNET用戶(安裝.Net Framework時自動生成的系統用戶)在導出目錄文具有“寫入”權限即可。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved