水晶报表在C#使用中经常需要事先导出 功能,但是crystalReportViewer在界面上不太美观,所以贴出来共享。
CrystalDecisions.Shared.DiskFileDestinationOptions DiskOpts = new CrystalDecisions.Shared.DiskFileDestinationOptions();
this.reportDocument1.ExportOptions.ExportDestinationType = CrystalDecisions.Shared.ExportDestinationType.DiskFile;
SaveFileDialog SaveFileDialog1 = new SaveFileDialog();
SaveFileDialog1.Filter = "Microsoft Office Excel 文件 (*.xls)|*.xls|Microsoft Office Word 文件 (*.doc)|*.doc|Microsoft Office RichText 文件 (*.rtf)|*.rtf|Adobe PDF 文件 (*.pdf)|*.pdf";
SaveFileDialog1.FilterIndex = 1; //默认Microsoft Office Excel
SaveFileDialog1.RestoreDirectory = true;
SaveFileDialog1.FileName = "报表_" + DateTime.Now.Year + "-" + DateTime.Now.Month + "-" + DateTime.Now.Day; //默认图片保存名称 Pic01
if (SaveFileDialog1.ShowDialog() == DialogResult.OK)
{
switch (SaveFileDialog1.FilterIndex)
{
case 1:
this.reportDocument1.ExportOptions.ExportFormatType = CrystalDecisions.Shared.ExportFormatType.Excel;
break;
case 2:
this.reportDocument1.ExportOptions.ExportFormatType = CrystalDecisions.Shared.ExportFormatType.WordForWindows;
break;
case 3:
this.reportDocument1.ExportOptions.ExportFormatType = CrystalDecisions.Shared.ExportFormatType.RichText;
break;
case 4:
this.reportDocument1.ExportOptions.ExportFormatType = CrystalDecisions.Shared.ExportFormatType.PortableDocFormat;
break;
}
DiskOpts.DiskFileName = SaveFileDialog1.FileName;
this.reportDocument1.ExportOptions.DestinationOptions = DiskOpts;
this.reportDocument1.Export();
MessageBox.Show("数据导出成功!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
}