欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

C#使用doggleReport生成pdf报表的方法

程序员文章站 2023-11-26 23:20:34
本文实例讲述了c#使用dogglereport生成pdf报表的方法。分享给大家供大家参考,具体如下: 1. 安装nuget -install package d...

本文实例讲述了c#使用dogglereport生成pdf报表的方法。分享给大家供大家参考,具体如下:

1. 安装nuget

-install package doddlereport
-install package doddlereport.itextsharp

2. 实例代码

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#相关内容感兴趣的读者可查看本站专题:《c#文件操作常用技巧汇总》、《c#常见控件用法教程》、《winform控件用法总结》、《c#数据结构与算法教程》、《c#面向对象程序设计入门教程》及《c#程序设计之线程使用技巧总结

希望本文所述对大家c#程序设计有所帮助。