使用c#winform打印和制作报告

我在Delphi QuickReport中用来创建报表和打印。 我可以用什么在.NET C#中执行此操作?

我向我的项目(Winforms应用程序)添加了一些报告元素(Microsoft报告和Crystal报告),但我看到的是,我只能从数据库中插入数据。 我想要的是使用在运行时创建的对象的值。 这是因为我的报告实际上包含收据和发票。

哪个是最适合我需要的工具?

您可以使用内置报告生成不需要数据库的精美报告。

为我的数据创建一个类,在我的例子中,我将创建一个person类:

class Person { public string FirstName { get; set; } public string LastName { get; set; } public string AddressLine1 { get; set; } public string AddressLine2 { get; set; } } 
  • 接下来,我将使用报告向导添加报告(添加新项目 – >报告 – >报告向导)。

  • 对于数据源,我将选择Object,然后将其指向Person类。 来自类的数据源

  • 选择所需的列以获取详细信息,为了简单起见,我只是将所有列拖到值中。

报告向导字段

  • 单击向导的其余部分,只需选择默认值,然后您应该看到您的报告。

  • 现在,您可以将ReportViewer控件添加到表单,并将报表设置为刚刚创建的报表。 这应该也会在表单上创建一个PersonBindingSource。

  • 将PersonBindingSource的数据设置为内存中的列表:

     BindingList myPeople = new BindingList(); myPeople.Add(new Person() { FirstName = "John" , LastName = "Doe"}); myPeople.Add(new Person() { FirstName = "Jane" , LastName = "Doe"}); myPeople.Add(new Person() { FirstName = "Jerry" , LastName = "Smithers" }); PersonBindingSource.DataSource = myPeople; reportViewer1.RefreshReport(); this.reportViewer1.RefreshReport(); 

最终报告看起来像这样:

总结报告

Crystal Reports将为您完美地工作。 实际上,您可以生成没有数据库的报告。 看看这个项目,它应该让你开始,就像你想要做的那样。

你这对你有帮助!