导出DataGridView为PDF文档

本文介绍了一个使用iTextSharp库将Windows Forms中的DataGridView控件内容导出到PDF文档的方法。首先,设置字体和文件保存对话框,然后创建PDF文档,添加页脚,打开文档并创建一个PDF表格。接着,添加表头和数据行,并处理可能的异常。最后,将表格数据添加到PDF文档并关闭文件。
摘要由CSDN通过智能技术生成

using System;
using System.Data;
using System.Configuration;
using System.Windows.Forms;
using iTextSharp;
using iTextSharp.text;
using iTextSharp.text.pdf;
using System.IO;
using System.Data.SqlClient;

[itextsharp.dll]


public partial class GrdvTOpdf
{
   

   

    #region ConvertGrdiViewToPDF() -> 换GridView为PDF文档

    ///
    /// 转换GridView为PDF文档    ///
    /// GridView
    /// 目标PDF文件名字
    /// 字体所在路径
    /// 字体大小
    /// 返回调用是否成功
    public  void ConvertGrdiViewToPDF(DataGridView datagridview)
    {
        ///设置导出字体
        ///
        string FontPath ="C://WINDOWS//Fonts//simsun.ttc,1";
        int FontSize = 12;
        ///
        Boolean cc=false;
        string strFileName;
        SaveFileDialog savFile = new SaveFileDialog();
        savFile.Filter

自己写的C#常用类库,使用时请先添加引用:UsrCustomFun.dll、DevComponents.DotNetBar2.dll,压缩包内的其他文件请与UsrCustomFun.dll放置同一目录,然后在程序中引用命名空间:using UsrCustomFun;包括: 1.自定义MessageBox,消息内容与错误代码分开,使用了6个重载方式。调用方法例子: UserMessageBox.UsrShow("执行SQL查询出错!", "数据库错误", ec.Message.ToString()); 2.等待提示窗口,使用了3个重载方法。 打开:UserWaitBox.UsrShow("等待信息"); 关闭:UserWaitBox.UsrClose(); 3.打印DataGridView,使用了9个重载方式,可自定义标题与打印样式: DataGridViewPrint.PrintDgv(dataGridView); 4.DataTable导出为Excel,3个重载方式: DataTableToExcel.DtToExcel(DataTable); 5.DataTable生成Pdf文件,6个重载方式: UsrExport.ExPdf(dataTable); 6.XML文件操作,可根据XML文件节点、路径来读取、修改、写入XML: UserXml.ReadXml(string XML的路径); UserXml.ReadXmlElement(string XML的路径,节点名称); UserXml.WriteXmlElement(XML路径,节点名称,内容); 7.数据库操作,目前有Access、SqlServer、Oracel (7.1)先配置数据库连接字符串: UsrCustomFun.SqlConn.SqlParameters下根据数据库类型返回一个数据库连接字符串。 (7.2)再执行数据库操作: (7.2.1)UsrCustomFun.SqlConn.SqlConnAccess下为Access的数据库操作,可根据SQL返回int型、string型、DataTable、DataReader、DataSet及无返回操作。 (7.2.2)UsrCustomFun.SqlConn.SqlConnOracle,操作类型同7.2.1 (7.2.3)UsrCustomFun.SqlConn.SqlConnSqlServer,操作类型同7.2.1
你可以使用 Microsoft.Office.Interop.Excel 库来将 DataGridView 中的数据导出到 Excel 文件中。以下是一个示例代码: ```csharp using Excel = Microsoft.Office.Interop.Excel; private void ExportToExcel(DataGridView dgv) { Excel.Application excel = new Excel.Application(); Excel.Workbook workbook = excel.Workbooks.Add(); Excel.Worksheet worksheet = workbook.ActiveSheet; // 将表头写入 Excel for (int i = 1; i <= dgv.Columns.Count; i++) { worksheet.Cells[1, i] = dgv.Columns[i - 1].HeaderText; } // 将数据写入 Excel for (int i = 0; i < dgv.Rows.Count; i++) { for (int j = 0; j < dgv.Columns.Count; j++) { worksheet.Cells[i + 2, j + 1] = dgv.Rows[i].Cells[j].Value.ToString(); } } // 弹出保存文件对话框,将 Excel 文件保存到本地 SaveFileDialog saveFileDialog = new SaveFileDialog(); saveFileDialog.Filter = "Excel 文件|*.xlsx"; saveFileDialog.Title = "保存 Excel 文件"; saveFileDialog.ShowDialog(); if (saveFileDialog.FileName != "") { workbook.SaveAs(saveFileDialog.FileName); MessageBox.Show("导出成功!", "提示"); } // 释放 Excel 对象 workbook.Close(); excel.Quit(); System.Runtime.InteropServices.Marshal.ReleaseComObject(worksheet); System.Runtime.InteropServices.Marshal.ReleaseComObject(workbook); System.Runtime.InteropServices.Marshal.ReleaseComObject(excel); worksheet = null; workbook = null; excel = null; GC.Collect(); } ``` 在这段代码中,我们首先创建了一个 Excel 应用程序对象和一个 Excel 工作簿对象,然后将 DataGridView 中的表头和数据逐行逐列地写入 Excel 中。接着弹出保存文件对话框,让用户选择保存的文件名和路径,最后将 Excel 文件保存到本地。最后,我们释放了 Excel 对象,以避免内存泄漏。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

百事洞明

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值