【Stimulsoft Reports.Net教程】程式碼匯出報表
阿新 • • 發佈:2018-12-14
此示例專案顯示如何將報表匯出為各種格式。對於此操作,只需使用實現所有匯出格式的方法的特殊StiReportResponse類即可。這些方法接受所有必要引數的輸入以配置匯出。 例如,為各種報表實現幾種流行的匯出格式。在ASPX頁面上新增選擇列表,還新增匯出按鈕並在Web檢視器中呼叫報表的預覽頁面。
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Default.aspx.cs" Inherits="Export_Report_from_Code.Default" %> <!DOCTYPE html> <html xmlns="http://www.w3.org/1999/xhtml"> <head runat="server"> <title>Export Report from Code</title> </head> <body> <form id="form1" runat="server"> <h2><span style="color: #0066ff">Export Example</span></h2> <table> <tr> <td width="200px"> <strong>Select Report:</strong> </td> <td width="200px"> <strong>Select Output Format:</strong> </td> </tr> <tr> <td> <asp:ListBox ID="ListBoxReports" runat="server" Height="100px"> <asp:ListItem Selected="True">Anchors</asp:ListItem> <asp:ListItem>MasterDetail</asp:ListItem> <asp:ListItem>MultiColumnList</asp:ListItem> <asp:ListItem>SimpleGroup</asp:ListItem> <asp:ListItem>SimpleList</asp:ListItem> </asp:ListBox> </td> <td> <asp:ListBox ID="ListBoxFormats" runat="server" Height="100px"> <asp:ListItem Selected="True">Pdf</asp:ListItem> <asp:ListItem>Html</asp:ListItem> <asp:ListItem>Xls</asp:ListItem> <asp:ListItem>Txt</asp:ListItem> <asp:ListItem>Rtf</asp:ListItem> </asp:ListBox> </td> </tr> <tr> <td> <asp:Button ID="ButtonPreview" runat="server" Text="Preview" onclick="ButtonPreview_Click" /> </td> <td> <asp:Button ID="ButtonExport" runat="server" Text="Export" onclick="ButtonExport_Click" /> </td> </tr> </table> </form> </body> </html>
在ButtonExport_Click事件中載入報表,連線到資料並以所選格式匯出報表。使用StiReportResponse類的靜態方法匯出報表。
protected void ButtonExport_Click(object sender, EventArgs e) { StiReport report = new StiReport(); DataSet data = new DataSet(); report.Load(Server.MapPath(String.Format("Reports\\{0}.mrt", ListBoxReports.SelectedItem.Text))); data.ReadXml(Server.MapPath(@"Data\Demo.xml")); report.RegData(data); switch (ListBoxFormats.SelectedIndex) { case 0: StiReportResponse.ResponseAsPdf(report); break; case 1: StiReportResponse.ResponseAsHtml(report); break; case 2: StiReportResponse.ResponseAsXls(report); break; case 3: StiReportResponse.ResponseAsText(report); break; case 4: StiReportResponse.ResponseAsRtf(report); break; } }
所選報表可以顯示在檢視器中。為此,請使用ButtonPreview_Click事件,該事件將報表名稱儲存在會話中,並使用報表檢視器重定向到Report.aspx頁面。
protected void ButtonPreview_Click(object sender, EventArgs e) { Session["reportname"] = ListBoxReports.SelectedItem.Text; Response.Redirect("Report.aspx"); }
示例程式碼的結果如下圖所示: