【发布时间】:2009-08-19 11:42:08
【问题描述】:
如何将数据网格转换为 PDF?
【问题讨论】:
标签: c# pdf datagridview
如何将数据网格转换为 PDF?
【问题讨论】:
标签: c# pdf datagridview
您遇到的问题是“您希望它如何布局?”。您可以使用 iTextSharp 之类的东西,它是一个很棒的库,但不擅长布置这样的简单内容。我会使用 VS 的报表设计器创建一个基于 RDLC 的报表,然后使用 LocalReport 类的 Render() 方法将报表呈现为 PDF,使用您的数据集作为数据源。
【讨论】:
http://itextsharp.sourceforge.net/
iTextSharp 是一个开源库,可用于生成和操作 PDF。
【讨论】:
创建类,例如员工:
public class employee
{
public string name;
public string address;
}
然后创建员工集合:
List<employee> employee_list = new List<employee>();
将 DataGrid 中的数据读入您的集合(例如,使用 foreach 循环)。
我建议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。
希望,这会有所帮助。
【讨论】: