ASP.NET学习基础二十:水晶报表另存为其他格式

文章介绍了如何使用CrystalReports库在Web应用程序中,通过DropdownList选择不同的输出格式(如RTF、PDF、DOC等),并设置相应的文件路径和导出选项,实现CrystalReport的定制化导出功能。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1)引用单元

using CrystalDecisions.CrystalReports.Engine;

using CrystalDecisions.Shared;

using System.Data.OleDb;

using System.IO;

2dropdownlist的值为

DropDownList1.Items.Add("");

DropDownList1.Items.Add("Rich Text (RTF)");

DropDownList1.Items.Add("Portable Document (PDF)");

DropDownList1.Items.Add("MS Word (DOC)");

DropDownList1.Items.Add("MS Excel (XLS)");

DropDownList1.Items.Add("Crystal Report (RPT)");

DropDownList1.Items.Add("HTML 3.2 (HTML)");

DropDownList1.Items.Add("HTML 4.0 (HTML)");

3)事件内容

string constr="Provider=SQLOLEDB.1;Password=sa;Persist Security Info=True;User ID=sa;Initial Catalog=dianxinkapin;Data Source=new";

string command="select * from comeout"; 

 

OleDbConnection myConn = new OleDbConnection(constr) ;

myConn.Open ( ) ;

//创建一个 DataSet

DataSet  myDataSet = new DataSet ( ) ;

//OleDbDataAdapter 得到一个数据集

OleDbDataAdapter myCommand = new OleDbDataAdapter (command,constr ) ;

//Dataset绑定person数据表

myCommand.Fill (myDataSet,command) ;

//关闭此OleDbConnection

myConn.Close () ;

myrpt rpt1=new myrpt();

rpt1.SetDataSource(myDataSet.Tables[0]);

crptv.ReportSource=rpt1;

string ExportPath;

ExportPath = Request.PhysicalApplicationPath + "Exported\\";

if (Directory.Exists(ExportPath) == false)  

Directory.CreateDirectory(Request.PhysicalApplicationPath + "Exported\\");

DiskFileDestinationOptions   crDiskFileDestinationOptions = new DiskFileDestinationOptions();

ExportOptions  crExportOptions = rpt1.ExportOptions;

if (DropDownList1.SelectedItem.Text == "Rich Text (RTF)")

{

crDiskFileDestinationOptions.DiskFileName = ExportPath +  

"RichTextFormat.rtf";

crExportOptions.ExportDestinationType =   ExportDestinationType.DiskFile;

crExportOptions.ExportFormatType = ExportFormatType.RichText;

crExportOptions.DestinationOptions =   crDiskFileDestinationOptions;

  }

else if (DropDownList1.SelectedItem.Text == "Portable Document (PDF)")

  {

crDiskFileDestinationOptions.DiskFileName = ExportPath +   "PortableDoc.pdf";

  crExportOptions.DestinationOptions =   crDiskFileDestinationOptions;

  crExportOptions.ExportDestinationType =   ExportDestinationType.DiskFile;

  crExportOptions.ExportFormatType =   ExportFormatType.PortableDocFormat;

  }

  else if (DropDownList1.SelectedItem.Text == "MS Word (DOC)")

  {

crDiskFileDestinationOptions.DiskFileName = ExportPath +   "Word.doc";

  crExportOptions.ExportDestinationType =   ExportDestinationType.DiskFile;

  crExportOptions.ExportFormatType =   ExportFormatType.WordForWindows;

  crExportOptions.DestinationOptions =   crDiskFileDestinationOptions;

  }

  else if (DropDownList1.SelectedItem.Text == "MS Excel (XLS)")

  { 

crDiskFileDestinationOptions.DiskFileName = ExportPath +   "Excel.xls";

  //set the required report ExportOptions properties

  crExportOptions.ExportDestinationType =   ExportDestinationType.DiskFile;

  crExportOptions.ExportFormatType = ExportFormatType.Excel;

  crExportOptions.DestinationOptions =   crDiskFileDestinationOptions;

 

  //--------------------------------------------------------------------

}

  else if (DropDownList1.SelectedItem.Text == "Crystal Report (RPT)")

  {

  crDiskFileDestinationOptions.DiskFileName = ExportPath +   "Report.rpt";

  //set the required report ExportOptions properties

  crExportOptions.ExportDestinationType =   ExportDestinationType.DiskFile;

  crExportOptions.ExportFormatType =   ExportFormatType.CrystalReport;

  crExportOptions.DestinationOptions =   crDiskFileDestinationOptions;

//--------------------------------------------------------------------

  }

  else if (DropDownList1.SelectedItem.Text == "HTML 3.2 (HTML)")

  {

  //--------------------------------------------------------------------

  //Export to HTML32:

  HTMLFormatOptions HTML32Formatopts = new HTMLFormatOptions();

  crExportOptions.ExportDestinationType =   ExportDestinationType.DiskFile;

  crExportOptions.ExportFormatType = ExportFormatType.HTML32;

HTML32Formatopts.HTMLBaseFolderName = ExportPath +   "Html32Folder"; //Foldername to place HTML files

  HTML32Formatopts.HTMLFileName = "HTML32.html";

  HTML32Formatopts.HTMLEnableSeparatedPages = false;

  HTML32Formatopts.HTMLHasPageNavigator = false;

  crExportOptions.FormatOptions = HTML32Formatopts;

  //--------------------------------------------------------------------

  }

  else if (DropDownList1.SelectedItem.Text == "HTML 4.0 (HTML)")

  {

//--------------------------------------------------------------------

  //Export to Html 4.0:

  HTMLFormatOptions HTML40Formatopts = new HTMLFormatOptions();

  crExportOptions.ExportDestinationType =   ExportDestinationType.DiskFile;

  crExportOptions.ExportFormatType = ExportFormatType.HTML40;

  HTML40Formatopts.HTMLBaseFolderName = ExportPath +   "Html40Folder"; // Foldername to place HTML files

  HTML40Formatopts.HTMLFileName = "HTML40.html";

HTML40Formatopts.HTMLEnableSeparatedPages = true;

  HTML40Formatopts.HTMLHasPageNavigator = true;

  HTML40Formatopts.FirstPageNumber = 1;

  HTML40Formatopts.LastPageNumber = 3;

  crExportOptions.FormatOptions = HTML40Formatopts;

  } //export format

  try

  {

  // Export the report

  rpt1.Export();

}

  catch (Exception err)

  {

  Response.Write("<BR>");

  Response.Write(err.Message.ToString());

  }

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值