如何从C#中的DataGridView打印数据?

我正在开发一个程序,我需要打印DataGridView控件中显示的Bills数据。
我想知道代码如何在DataGridView中打印数据。

我正在使用Visual Studio 2008和C#3.5

DataGridView没有内置任何打印支持,因此您必须自己实现。 有几种可能的解决方案:

  1. WinForms提供标准打印系统,您可以利用它打印出DataGridView控件的内容。 您将需要使用PrintDocument类,因此相关文档是开始阅读的好地方。 此方法的优点是它允许您完全控制打印文档的格式和布局。

  2. 您可以将数据从DataGridView导出到Microsoft Excel,然后从那里打印。 Excel具有更强大的内置打印支持。

  3. 如果您对推出自己的解决方案不感兴趣,可以浏览CodeProject以获取一些已经设计的解决方案。 例如:

    • DataGridViewPrinter类
    • 在DotNet Framework上打印DataGridView
    • 另一个DataGridView打印机
    • 通过选择列和行来打印DataGridView

    即使您没有找到符合您确切需求的插入式解决方案,您也可以通过使用已发布的代码作为示例,自行了解如何自行创建此function。

  4. 如果你想要一个真正的hacky解决方案(并且你不需要或者不需要自定义打印输出的布局或设计),你可以使用每个控件公开的DrawToBitmap方法。 这是一种非常快速和肮脏的方法,可以将屏幕上显示的DataGridView控件的精确图像绘制到Bitmap ,然后可以将其直接传递到打印机。