【问题标题】:Export DataGrid to PDF using c#使用 c# 将 DataGrid 导出为 PDF
【发布时间】:2009-08-19 11:42:08
【问题描述】:

如何将数据网格转换为 PDF?

【问题讨论】:

    标签: c# pdf datagridview


    【解决方案1】:

    您遇到的问题是“您希望它如何布局?”。您可以使用 iTextSharp 之类的东西,它是一个很棒的库,但不擅长布置这样的简单内容。我会使用 VS 的报表设计器创建一个基于 RDLC 的报表,然后使用 LocalReport 类的 Render() 方法将报表呈现为 PDF,使用您的数据集作为数据源。

    【讨论】:

      【解决方案2】:

      http://itextsharp.sourceforge.net/

      iTextSharp 是一个开源库,可用于生成和操作 PDF。

      【讨论】:

        【解决方案3】:
        1. 首先您需要将数据从 DataGrid 获取到您的集合中:

        创建类,例如员工:

        public class employee 
        { 
            public string name; 
            public string address; 
        } 
        

        然后创建员工集合:

        List<employee> employee_list = new List<employee>(); 
        

        将 DataGrid 中的数据读入您的集合(例如,使用 foreach 循环)。

        1. 现在您需要将您的收藏打印成 PDF 文件:

        我建议PDFFlow 库,因为它具有简单的语法和许多功能。您可以使用段落或表格打印 DataGrid。

        如果您想使用表格,这将是您将数据源设置为表格的代码,库将自行完成其余工作:

        using Gehtsoft.PDFFlow; 
        DocumentBuilder.New() 
            .AddSection() 
                .AddTable() 
                    .AddColumnToTable("Name") 
                    .AddColumnToTable("Address") 
                .SetDataSource(employee_list) 
        .ToDocument() 
            .Build("Result.pdf"); 
        

        或者您可以循环浏览您的集合并自行添加单元格:

        var PDFtable = DocumentBuilder.New().AddSection() 
            .AddTable() 
                .AddColumnToTable("Name") 
                .AddColumnToTable("Address"); 
        foreach(var emp in employee_list) 
        { 
            PDFtable 
                .AddRow() 
                    .AddCellToRow(emp.Name) 
                    .AddCell(emp.Address); 
        } 
        PDFtable 
            .ToDocument() 
                .Build("Result.PDF"); 
        

        这里有大量使用 C# 创建 PDF 文件的源代码示例:Source code

        希望,这会有所帮助。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2019-09-01
          • 2010-09-24
          • 1970-01-01
          • 1970-01-01
          • 2013-11-08
          • 2015-09-25
          • 2013-08-25
          • 1970-01-01
          相关资源
          最近更新 更多