1. 程式人生 > >【Stimulsoft Reports.Net教程】程式碼匯出報表

【Stimulsoft Reports.Net教程】程式碼匯出報表

此示例專案顯示如何將報表匯出為各種格式。對於此操作,只需使用實現所有匯出格式的方法的特殊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");
}

示例程式碼的結果如下圖所示:

Stimulsoft