FastReport 导出Excel、Word、Pdf
private void ExportPDF(H_HistoryDataModel model) { try { // create report instance Report report = new Report(); PrepareReport(report, model); // create export instance PDFExport export = new PDFExport(); // export the report if (txtFilePath.Text.Trim() == "")//路径为空的时候默认放到桌面 { txtFilePath.Text = Environment.GetFolderPath(Environment.SpecialFolder.DesktopDirectory); } if (txtFileName.Text.Trim() == "") { txtFileName.Text = string.Format("检测报告{0}.pdf", DateTime.Now.ToString("yyyy-MM-dd HHmmss")); } string strPath = this.txtFilePath.Text + "\\" + this.txtFileName.Text; if (!strPath.EndsWith(".pdf")) { MessageBox.Show("请输入pdf格式的文件名!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information); return; } report.Export(export, strPath); // free resources used by report report.Dispose(); MessageBox.Show("结果保存成功!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information); } catch (Exception ex) { LogHelper.Error(ex); MessageBox.Show("输入的路径无法访问,请重新输入!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information); } } private void ExportXLS(H_HistoryDataModel model) { try { // create report instance Report report = new Report(); PrepareReport(report, model); FastReport.Export.OoXML.Excel2007Export xlsExport = new FastReport.Export.OoXML.Excel2007Export(); xlsExport.ShowProgress = false; MemoryStream strm = new MemoryStream(); report.Export(xlsExport, strm); strm.Position = 0; if (txtFilePath.Text.Trim() == "")//路径为空的时候默认放到桌面 { txtFilePath.Text = Environment.GetFolderPath(Environment.SpecialFolder.DesktopDirectory); } if (txtFileName.Text.Trim() == "") { txtFileName.Text = string.Format("检测报告{0}.xls", DateTime.Now.ToString("yyyy-MM-dd HHmmss")); } string strPath = this.txtFilePath.Text + "\\" + this.txtFileName.Text; if (!strPath.EndsWith(".xls")) { MessageBox.Show("请输入xls格式的文件名!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information); return; } FileStream fs = new FileStream(strPath, FileMode.Create); strm.WriteTo(fs); strm.Close(); fs.Close(); xlsExport.Dispose(); strm.Dispose(); fs.Dispose(); report.Dispose(); MessageBox.Show("结果保存成功!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information); } catch (Exception ex) { LogHelper.Error(ex); MessageBox.Show("输入的路径无法访问,请重新输入!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information); } }
public void ExportPdfWordByFastReport(string reportFile = @"D:\reportFile.frx") { try { //数据源 DataTable dt = new DataTable(); dt.Columns.Add("col1", typeof(byte[])); dt.Columns.Add("col2", typeof(int)); dt.Columns.Add("col3", typeof(string)); dt.Rows.Add(dt.NewRow()); dt.Rows[0]["col2"] = 2; dt.Rows[0]["col3"] = "表数据第三列字段值"; FastReport.Report report = new FastReport.Report(); DataSet ds = new DataSet(); ds.Tables.Add(dt); report.RegisterData(ds); report.Load(reportFile); report.Prepare(); string fileName = @"D:\2.docx"; //导出Word,使用RichText.RTFExport,但是效果没有OoXML.Word2007Export好 FastReport.Export.RichText.RTFExport export = new FastReport.Export.RichText.RTFExport(); report.Export(export, fileName); //导出Word,使用OoXML.Word2007Export FastReport.Export.OoXML.Word2007Export exportWord = new FastReport.Export.OoXML.Word2007Export(); exportWord.ShowProgress = false; //可选,设置导出时是否显示进度窗口,这里设置为不显示。 report.Export(exportWord, fileName); //导出pdf fileName = @"D:\2.pdf"; FastReport.Export.Pdf.PDFExport exportPDF = new FastReport.Export.Pdf.PDFExport(); exportPDF.PdfCompliance = FastReport.Export.Pdf.PDFExport.PdfStandard.PdfX_3;//pdf版本1.4 exportPDF.TransparentImages = false; report.Export(exportPDF, fileName); } catch (Exception ex) { } }
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义