本文实例讲述了C#使用doggleReport生成pdf报表的方法。分享给大家供大家参考,具体如下:
1. 安装nuget
1
2
|
- install package DoddleReport
- install package DoddleReport.iTextSharp
|
2. 实例代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
|
static void Main( string [] args)
{
var query = GetAll();
var report = new Report(query.ToReportSource());
report.TextFields.Title = "Graduate Student Report" ;
report.TextFields.SubTitle = "sample header" ;
report.TextFields.Footer = "sample footer" ;
report.TextFields.Header = string .Format( @"
Report Generated: {0}
Total Students: {1}" , DateTime.Now, 100);
report.RenderHints.BooleanCheckboxes = true ;
report.DataFields[ "Id" ].Hidden = true ;
var stream = new MemoryStream();
var writer = new PdfReportWriter();
writer.WriteReport(report, stream);
const string path = "C:\\test" ;
if (!Directory.Exists(path))
{
Directory.CreateDirectory(path);
}
File.WriteAllBytes( string .Format(path+ "/studentReport_{0}.pdf" ,DateTime.Now.ToString( "dd-MM-yyyy_HH-mm-ss" )), stream.GetBuffer());
Console.WriteLine( "done" );
}
public class Student
{
public int Id { get ; set ; }
public string Name { get ; set ; }
public bool IsPass { get ; set ; }
public int Score { get ; set ; }
public DateTime GraduateAt { get ; set ; }
}
public static List<Student> GetAll()
{
var rand = new Random();
return Enumerable.Range(1, 1000)
.Select(i => new Student
{
Id = i,
Name = "Product " + i,
Score = rand.Next(100),
GraduateAt = DateTime.Now
})
.ToList();
}
|
3. 在C:\test文件夹中查看结果
希望本文所述对大家C#程序设计有所帮助。