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# 使用 doggleReport 生成pdf报表)