本文实例讲述了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#程序设计有所帮助。