reportsservice.cs
来自「ASP.NET的一些开发实例,有论坛管理系统等」· CS 代码 · 共 119 行
CS
119 行
using System;
using System.Data;
using System.Data.SqlClient;
using System.IO;
using System.Web.UI;
using CrystalDecisions.CrystalReports.Engine;//负责解释ReportDocument类
using CrystalDecisions.Shared ;//负责解释TableLogOnInfo类
namespace CrystalEg
{
/// <summary>
/// ReportsService 的摘要说明。
/// </summary>
public class ReportsService
{
public ReportsService()
{
//
// TODO: 在此处添加构造函数逻辑
//
}
/// <summary>
/// 填充数据
/// </summary>
/// <param name="ds">数据集</param>
/// <param name="TableName">数据表</param>
/// <param name="sql">查询语句</param>
/// <param name="strConn">数据库连接字符串</param>
public static void FillDataSet(DataSet ds,string TableName,string sql,string strConn)
{
try
{
SqlConnection SqlConn=new SqlConnection(strConn);
System.Data.SqlClient.SqlDataAdapter SqlAdapter=new SqlDataAdapter(sql,SqlConn);
SqlAdapter.Fill(ds,TableName);
}
catch
{
}
}
/// <param name="oCR"></param>
/// <param name="ExportType"></param>
/// <param name="DestinationType"></param>
/// <param name="bSave"></param>
///
/// <summary>
/// 向浏览器输入报表文件
/// </summary>
/// <param name="thePage">页面</param>
/// <param name="oCR">报表文件</param>
/// <param name="ExportType">导出类型</param>
/// <param name="DestinationType">导出目标指向磁盘文件的类型</param>
/// <param name="bSave">是否保存</param>
/// <param name="Fname">保存路径</param>
public static void Export(System.Web.UI.Page thePage, CrystalDecisions.CrystalReports.Engine.ReportDocument oCR,ExportFormatType ExportType,ExportDestinationType DestinationType,bool bSave,string Fname)
{
if(ExportType==ExportFormatType.PortableDocFormat)
{
Fname+=".pdf";
}
else if(ExportType==ExportFormatType.Excel)
{
Fname+=".xls";
}
else if(ExportType==ExportFormatType.WordForWindows)
{
Fname+=".doc";
}
// 声明变量并获取导出选项。
ExportOptions exportOpts = oCR.ExportOptions;
DiskFileDestinationOptions diskOpts = new DiskFileDestinationOptions();
// 设置导出格式
exportOpts.ExportFormatType = ExportType;//报表的导出格式是 PDF 文件。
exportOpts.ExportDestinationType = DestinationType;//导出目标指向磁盘文件。
// 设置磁盘文件选项。
diskOpts.DiskFileName = Fname;
exportOpts.DestinationOptions = diskOpts;
// 导出报表。
oCR.Export();
thePage.Response.ClearContent();
thePage.Response.ClearHeaders();
if(ExportType==ExportFormatType.PortableDocFormat)
{
thePage.Response.ContentType = "application/pdf";
}
else if(ExportType==ExportFormatType.Excel)
{
thePage.Response.ContentType = "application/vnd.ms-excel";
}
else if(ExportType==ExportFormatType.WordForWindows)
{
thePage.Response.ContentType = "application/msword";
}
thePage.Response.WriteFile(Fname);
thePage.Response.Flush();
thePage.Response.Close();
if(!bSave)
{
System.IO.File.Delete(Fname);
}
}
/// **************************************************************************
/// END
/// **************************************************************************
}
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?