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 + -
显示快捷键?