美文网首页
C#水晶报表(二)之报表导出

C#水晶报表(二)之报表导出

作者: 小羊爱学习 | 来源:发表于2024-11-11 16:36 被阅读0次

C#水晶报表(一)之基本使用

需求:

水晶报表中已经自带了打印和导出功能,但是有时候我们想不用打开报表就直接使用导出功能时还是需要自己写一下的。

image.png
image.png

开发:

WPF中使用SaveFileDialog使用需要引入using Microsoft.Win32;

try
{
    // 1.创建ReportDocument对象并加载.rpt文件
    ReportDocument reportDocument = new ReportDocument();
    string reportPath = AppDomain.CurrentDomain.BaseDirectory + @"\Report\Auditory_Understand.rpt";// rpt报表的绝对路径
    reportDocument.Load(reportPath);

    // 2.设置数据源
    DataSet dataSet = GetDataSet(int.Parse(mySelected.Row["ID"].ToString()));
    reportDocument.SetDataSource(dataSet);

    // 3. 设置导出格式和路径
    SaveFileDialog sfd = new SaveFileDialog
    {//WPF中使用SaveFileDialog需要引用using Microsoft.Win32;
        AddExtension = true,
        CheckPathExists = true,
        CreatePrompt = false,
        DefaultExt = "doc",
        Filter = "DOC files (*.doc)|*.doc|All files (*.*)|*.*"
    };
    bool? result = sfd.ShowDialog();
    if (result == true)
    {
        //4. 执行导出
        reportDocument.ExportToDisk(ExportFormatType.WordForWindows, sfd.FileName);
    }
    // 3.设置导出路径
    //string outPathStr = AppDomain.CurrentDomain.BaseDirectory + @"Log\789.pdf";
    //DiskFileDestinationOptions diskFileDestinationOptions = new DiskFileDestinationOptions
    //{
    //    DiskFileName = outPathStr
    //};

    // 4. 执行导出
    //ExportOptions exportOptions = new ExportOptions
    //{
    //    ExportFormatType = ExportFormatType.WordForWindows,
    //    ExportDestinationOptions = diskFileDestinationOptions,
    //    ExportDestinationType = ExportDestinationType.DiskFile
    //};
    //reportDocument.Export(exportOptions);

    // 5. 清理资源
    reportDocument.Close();
    reportDocument.Dispose();
}
catch (Exception ex)
{
    UserMessagebox.XMessageBox.Error(ex.Message.ToString(), "导出Word文档出错");
}

Export和ExportToDisk区别

ExportToDisk

  • 功能描述:
    ExportToDisk是Crystal Reports报表导出功能中的一个具体方法。
    它允许用户将报表以指定的格式导出到磁盘上的文件中。

  • 使用场景:
    当需要将报表数据保存为特定格式的文件(如PDF、Excel等)并存储在磁盘上时,使用ExportToDisk方法非常方便。

  • 方法参数:
    ExportToDisk方法通常需要两个参数:一个是导出格式类型(如PDF、Excel等),另一个是导出的文件名和路径。

  • 返回值:
    该方法通常不返回任何值,而是直接将报表数据写入到指定的文件中。

Export

  • 功能描述:
    Export是一个更通用的术语,它可以指代将数据从一种格式或系统导出到另一种格式或系统的过程。
    在Crystal Reports中,Export方法是一个更灵活、更强大的导出功能,它允许用户通过ExportOptions对象来指定导出格式、目标位置和其他导出选项。

  • 使用场景:
    Export方法适用于需要将报表数据导出到多种不同格式或目标位置的情况。
    它还允许用户进行更复杂的导出配置,如设置导出时的文件名、路径、是否作为附件导出等。

  • 方法参数:
    Export方法通常需要一个参数,即ExportOptions对象。这个对象包含了导出所需的所有配置信息。

  • 返回值:
    根据具体的实现和配置,Export方法可能返回不同的值。在某些情况下,它可能返回一个表示导出数据的流(Stream)对象;在其他情况下,它可能直接执行导出操作而不返回任何值。

总结

  • ExportToDisk:是Crystal Reports中的一个具体方法,用于将报表数据以指定格式导出到磁盘上的文件中。它简单易用,适用于基本的导出需求。
  • Export:是一个更通用、更灵活的术语,在Crystal Reports中通过Export方法和ExportOptions对象来实现。它允许用户进行更复杂的导出配置,适用于需要将报表数据导出到多种不同格式或目标位置的情况。

相关文章

  • 如何优雅的导出 Excel

    前言 公司项目最近有一个需要:报表导出。整个系统下来,起码超过一百张报表需要导出。这个时候如何优雅的实现报表导出,...

  • Kendoui之grid保存为Excel

    在制作报表时常会遇到的需求是报表的导出。将报表导出为一个Excel格式更便于浏览、维护及打印。同时Grid也提供了...

  • 工作中遇到的问题

    1.报表导出过慢的问题:在一次报表导出数据的过程中,随着业务量的增加,导出一个报表的时间过长,达到了2至3s钟,业...

  • C#之VS自带RDLC报表学习

    说到报表,大家肯定会想到和VS结合的比较紧密的是水晶报表了。水晶报表做出来的东西很漂亮。接着可能就是fastrep...

  • SAP B1-报表-1 财务报表:总账

    关键词:SAP Business one、SBO、SAP B1、水晶报表、报表、财务报表 我的个人博客文章路径ht...

  • 水晶报表子报表分页

    当水晶报表中有主子报表的情况下,如果子报表的数据超过一页时,则子报表会显示到下一页去 1.在子报表上点右键,格式 ...

  • POI动态生成Excel

    实习第二周 No.2 项目功能里要求能够将展示的报表导出excel,因为报表的数据都是动态从list传进来的,所...

  • 002.关于报表类需求分析

    1.报表导出字段 避免导出冗余字段 2.报表导出格式 一般为csv格式,xls格式有数量行的限制 但注意csv的格...

  • Python教程:报表和日志精讲

    本期Python学习教程,精讲报表和日志 导出Excel报表 报表就是用表格、图表等格式来动态显示数据,所以有人用...

  • Vue集成SpreadJs(Excel在线编辑操作)

    场景:最近公司开了个新项目,需要在线做财务损益报表,经调研需要支持如下功能: Excel报表的导入导出 报表的数据...

网友评论

      本文标题:C#水晶报表(二)之报表导出

      本文链接:https://www.haomeiwen.com/subject/jadkjjtx.html