首页 > 其他分享 >FastReport 导出Excel、Word、Pdf

FastReport 导出Excel、Word、Pdf

时间:2023-10-30 16:12:13浏览次数:31  
标签:Word Text Excel FastReport Export report new dt

 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)
            {

            }
        }

 

标签:Word,Text,Excel,FastReport,Export,report,new,dt
From: https://www.cnblogs.com/lingmin/p/17798121.html

相关文章

  • vue3 + vite 的Excel表格的导入导出
    一、安装XLSX插件yarnaddxlsx或者npmixlsx二、引入插件在你需要的页面或者在main.js中引入import*asXLSXfrom'xlsx'三、导出Excel3.1核心api①xlsx.utils.book_new() 新建工作簿② xlsx.uti......
  • HExcel,一个简单通用的导入导出Excel工具类
    前言日常开发中,Excel的导出、导入可以说是最常见的功能模块之一,一个通用的、健壮的的工具类可以节省大量开发时间,让我们把更多精力放在业务处理上中之前我们也写了一个Excel的简单导出,甚至可以不依赖poi,还扩展了纯前端导出Excel!详情请戳:《POI导出Excel 》,遗憾的是......
  • 工作常用的EXCEL公式 | 某列相同的数据进行汇总
    需求:解决方法:1、对部门排序,再进行分类汇总(数据-分类汇总) 2、选中A列,CTRL+G,快速定位空值,然后点击合并单元格3、选中A列,然后点击格式刷,刷在B列 4、取消分类汇总 5、删除A列,然后筛选B列为0的数据,然后删除,即可。 (调整一下格式即可) ......
  • Python Wordcloud报错:Only supported for TrueType fonts,多种解决方案
    PythonWordcloud报错:OnlysupportedforTrueTypefonts,多种解决方案。报错内容如下:2023-10-26T09:35:41.190459839ZTraceback(mostrecentcalllast):2023-10-26T09:35:41.190502589ZFile“lib/task/compute.py”,line621,in2023-10-26T09:35:41.190514101Zcompute_......
  • C#学习笔记之使用Access读取Excel表格
    一、读取Excel表的内容(使用DataSet)1.DataSet定义:表示数据在内存中的缓存。可以理解为,将从Excel表中读取出来的数据存入DataSet类中,之后对DataSet进行数据处理,能提高处理的速度。2.DataSet属性和方法:①属性CaseSensitive:获取或设置一个值,该值指示DataTable中的字符串是否区分......
  • Python 利用pymysql和openpyxl操作MySQL数据库并插入Excel数据
    1.需求分析本文将介绍如何使用Python连接MySQL数据库,并从Excel文件中读取数据,将其插入到MySQL数据库中。2.环境准备在开始本文之前,请确保您已经安装好了以下环境:Python3.xPyMySQL库openpyxl库MySQL数据库3.连接MySQL数据库我们可以使用pymysql库来连接MySQL数据库......
  • Python使用pymysql和xlrd2将Excel数据导入MySQL数据库
    在数据处理和管理中,有时候需要将Excel文件中的数据导入到MySQL数据库中进行进一步的分析和操作。本文将介绍如何使用Python编程语言实现这个过程。导入所需库importxlrd2#导入xlrd2库,用于读取Excel文件importpymysql#导入pymysql库,用于连接和操作MySQL数据库fromdat......
  • Word docx转html和markdown
    Pypandoc使用pandoc来进行各种文本格式的转换。安装#不带pandoc执行库pipinstallpypandoc#自带pandocpipinstallpypandoc_binary使用importpypandoc#convertallmarkdownfilesinachapters/subdirectory.pypandoc.convert_file('chapters/*.md','docx',outpu......
  • Pandas数据导入和导出:CSV、Excel、MySQL、JSON
    导入MySQL查询结果:read_sqlimportpandascon="mysql+pymysql://user:[email protected]/test"sql="SELECT*FROM`student`WHEREid=2"#sql查询df1=pandas.read_sql(sql=sql,con=con)print(df1)导入MySQL整张表:read_sql_table#整张表df2=pandas.rea......
  • vba 处理word 的一些代码:修改公式(1--1)为(1-1)
    SubConvertSpecificEquationsToText()DimoEqAsOMathDimeqTextAsStringDimregExAsObjectSetregEx=CreateObject("VBScript.RegExp")'DefinetheregularexpressionpatternregEx.Pattern="(\d.?\d)"'Patternfor(di......