void ReportExportBegin(IGRExportOption Sender) { //ExportBegin 事件在将报表导出之前会触发到,无论是调用 ExportDirect 与 Export 方法, //还是从打印预览窗口等地方执行导出,都会触发到 ExportBegin 事件。 //通常在 ExportBegin 事件中设置导出选项参数,改变默认导出行为 Sender.AbortOpenFile = true; //导出后不用关联程序打开导出文件,如导出Excel文件之后不用Excel打开 // Sender.AbortShowOptionDlg = !ckbShowOptionDlg.Checked; //导出之前不显示导出选项设置对话框 }
void ReportExportBegin(IGRExportOption Sender) { //ExportBegin 事件在将报表导出之前会触发到,无论是调用 ExportDirect 与 Export 方法 //还是从打印预览窗口等地方执行导出,都会触发到 ExportBegin 事件。 //通常在 ExportBegin 事件中设置导出选项参数,改变默认导出行为 //指定导出文件的完整路径与文件名称 string fileName = txtWorkFolder.Text + "\\" + _printFileName + ".png"; Sender.FileName = fileName; //根据导出类型设置其特有的选项参数,有关选项参数的具体信息清参考帮助文档。 //IGRExportOption是导出选项的基类,其它具体导出选项的接口名称都以IGRE2为前缀 Sender.AsE2IMGOption.DPI = 300; Sender.AsE2IMGOption.ImageType = GRExportImageType.greitPNG; }
/// <summary> /// 导出PDF /// </summary> /// <typeparam name="T">列表对象类型</typeparam> /// <param name="list">列表对象</param> /// <param name="filePath">存储路径</param> /// <param name="context"></param> /// <returns></returns> public bool ExportPdf(string json, string filePath, HttpContextBase context) { //从对应文件中载入报表模板数据 Report.LoadFromFile(this.ReportPath); //加载JSON对象 Report.LoadDataFromXML(json); IGRExportOption ExportOption = Report.PrepareExport(GRExportType.gretPDF); var exportPdf = Report.ExportToBinaryObject(); Report.UnprepareExport(); var succeeded = exportPdf.SaveToFile(filePath); return(succeeded); }
private void ReportExportBegin(IGRExportOption Sender) { switch (Sender.ExportType) { case GRExportType.gretXLS: Sender.AsE2XLSOption.MailExportFile = false; Sender.AsE2XLSOption.ExportPageBreak = false; Sender.AsE2XLSOption.ColumnAsDetailGrid = false; Sender.AsE2XLSOption.SameAsPrint = false; Sender.AsE2XLSOption.ExportPageHeaderFooter = false; Sender.AsE2XLSOption.OnlyExportPureText = false; Sender.AsE2XLSOption.ExpandRowHeight = false; Sender.AsE2XLSOption.OnlyExportDetailGrid = true; Sender.AsE2XLSOption.SupressEmptyLines = false; Sender.AsE2XLSOption.ExpandRowHeight = false; break; case GRExportType.gretTXT: Sender.AsE2TXTOption.MailExportFile = false; Sender.AsE2TXTOption.OnlyExportDetailGrid = true; break; case GRExportType.gretHTM: Sender.AsE2HTMOption.OnlyExportDetailGrid = true; break; case GRExportType.gretRTF: Sender.AsE2RTFOption.ExportPageBreak = false; Sender.AsE2RTFOption.SameAsPrint = false; Sender.AsE2RTFOption.ExportPageHeaderFooter = false; Sender.AsE2RTFOption.OnlyExportDetailGrid = true; break; case GRExportType.gretPDF: break; case GRExportType.gretCSV: Sender.AsE2CSVOption.OnlyExportDetailGrid = true; break; case GRExportType.gretIMG: Sender.AsE2IMGOption.ImageType = GRExportImageType.greitJPEG; break; } }
/// <summary> /// 导出PDF /// </summary> /// <param name="obj">对象</param> /// <param name="filePath">存储路径</param> /// <param name="context"></param> /// <returns></returns> public bool ExportPdf(object obj, string filePath, HttpContextBase context) { //从对应文件中载入报表模板数据 Report.LoadFromFile(this.ReportPath); //构建一个合法格式的对象,进行序列化 var json = JsonConvert.SerializeObject(obj, Formatting.Indented); Report.LoadDataFromXML(json); IGRExportOption ExportOption = Report.PrepareExport(GRExportType.gretPDF); var exportPdf = Report.ExportToBinaryObject(); Report.UnprepareExport(); var succeeded = exportPdf.SaveToFile(filePath); return(succeeded); }
public DataResult Document(ReportParam param) { paramModel = param; if (param.grfUrl != null) { // 从指定的 URL 地址载入报表模板数据 loadGrf = report.LoadFromURL(param.grfUrl); } else { // 从字符串中载入报表模板数据 loadGrf = report.LoadFromStr(param.grfStr); } if (!loadGrf) { return(request.Error("载入报表文件出错,请检查报表模板数据是否正确!")); } if (param.grfDataUrl != null) { // 从指定的 URL 地址载入报表明细数据 loadData = report.LoadDataFromURL(param.grfDataUrl); } else { // 从 XML 或 JSON 文字串中载入报表明细记录集数据,数据应符合约定的形式。 loadData = report.LoadDataFromXML(paramModel.grfData); } if (!loadData) { return(request.Error("载入报表数据出错,请检查报表数据地址是否正确!")); } //确定导出数据类型及数据的ContentType GenerateInfo.Build(param.type, "png"); IGRBinaryObject ResultDataObject; if (GenerateInfo.IsGRD) { ResultDataObject = report.GenerateDocumentData(); } else { IGRExportOption ExportOption = report.PrepareExport(GenerateInfo.ExportType); if (GenerateInfo.ExportType == GRExportType.gretIMG) { IGRE2IMGOption E2IMGOption = ExportOption.AsE2IMGOption; E2IMGOption.ImageType = GenerateInfo.ImageType; E2IMGOption.AllInOne = true; //所有页产生在一个图像文件中 E2IMGOption.DPI = param.dpi; //指定导出图像的分辨率DPI E2IMGOption.DrawPageBox = false; //指定是否在导出的图像上绘制一个页边框 //E2IMGOption.VertGap = 20; //页之间设置20个像素的间距 } else if (GenerateInfo.ExportType == GRExportType.gretPDF) { IGRE2PDFOption E2PDFOption = ExportOption.AsE2PDFOption; E2PDFOption.AnsiTextMode = false; //指定是否将文本数据编码为ANSI字符方式 E2PDFOption.Compressed = false; //指定是否对 PDF 页面数据进行压缩 } ResultDataObject = report.ExportToBinaryObject(); report.UnprepareExport(); } object Data = ResultDataObject.SaveToVariant(); string DocumentData = Convert.ToBase64String((byte[])Data); return(request.Succes(DocumentData, "生成数据成功")); }
void ReportExportBegin(IGRExportOption Sender) { //ExportBegin 事件在将报表导出之前会触发到,无论是调用 ExportDirect 与 Export 方法, //还是从打印预览窗口等地方执行导出,都会触发到 ExportBegin 事件。 //通常在 ExportBegin 事件中设置导出选项参数,改变默认导出行为 Sender.AbortOpenFile = true; //导出后不用关联程序打开导出文件,如导出Excel文件之后不用Excel打开 Sender.AbortShowOptionDlg = !ckbShowOptionDlg.Checked; //导出之前不显示导出选项设置对话框 //指定导出文件的完整路径与文件名称 string FileName = GetExportFileName(false); Sender.FileName = FileName; //"d:\\export\\my.dat"; //根据导出类型设置其特有的选项参数,有关选项参数的具体信息清参考帮助文档。 //IGRExportOption是导出选项的基类,其它具体导出选项的接口名称都以IGRE2为前缀 bool OnlyExportDetailGrid = ckbOnlyDetailGrid.Checked; bool SupressEmptyLines = ckbSupressEmptyLines.Checked; switch (Sender.ExportType) { case GRExportType.gretXLS: Sender.AsE2XLSOption.OnlyExportDetailGrid = OnlyExportDetailGrid; Sender.AsE2XLSOption.SupressEmptyLines = SupressEmptyLines; Sender.AsE2XLSOption.ExportPageHeaderFooter = false; Sender.AsE2XLSOption.SameAsPrint = false; Sender.AsE2XLSOption.ExportPageBreak = false; break; case GRExportType.gretRTF: Sender.AsE2RTFOption.OnlyExportDetailGrid = OnlyExportDetailGrid; Sender.AsE2RTFOption.SupressEmptyLines = SupressEmptyLines; break; case GRExportType.gretPDF: Sender.AsE2PDFOption.Author = "My Author"; Sender.AsE2PDFOption.Subject = "My Subject"; break; case GRExportType.gretHTM: Sender.AsE2HTMOption.OnlyExportDetailGrid = OnlyExportDetailGrid; Sender.AsE2HTMOption.SupressEmptyLines = SupressEmptyLines; break; case GRExportType.gretIMG: Sender.AsE2IMGOption.DPI = 300; Sender.AsE2IMGOption.ImageType = GRExportImageType.greitPNG; break; case GRExportType.gretTXT: Sender.AsE2TXTOption.OnlyExportDetailGrid = OnlyExportDetailGrid; Sender.AsE2TXTOption.SupressEmptyLines = SupressEmptyLines; break; default: Sender.AsE2CSVOption.OnlyExportDetailGrid = OnlyExportDetailGrid; Sender.AsE2CSVOption.SupressEmptyLines = SupressEmptyLines; break; } if (m_ExportToEmail) { //指定导出后发送EMail并设定发送EMail的参数 Sender.MailExportFile = true; Sender.MailTo = "*****@*****.**"; Sender.MailSubject = "报表导出并发送Email"; Sender.MailText = "报表导出并发送Email的相关说明..."; } }