C#通过按钮将datagridview1中数据转为PDF 存在桌面
时间: 2024-12-20 21:27:47 浏览: 12
在C#中,将DataGridView中的数据导出为PDF并保存到桌面,你可以使用iTextSharp库,这是一个强大的.NET PDF生成框架。以下是一个简单的步骤说明:
首先,你需要安装iTextSharp库,可以在这里下载:https://www.nuget.org/packages/iTextSharp/
1. 创建一个Button控件的Click事件处理器,例如:
```csharp
private void buttonExport_Click(object sender, EventArgs e)
{
ExportDataGridViewToPDF();
}
```
2. 实现`ExportDataGridViewToPDF`函数,该函数会从DataGridView获取数据,并将其转换为PDF:
```csharp
private void ExportDataGridViewToPDF()
{
try
{
// 获取DataGridView的内容
DataTable dt = dataGridView1.DataSource as DataTable;
// 创建一个新的PdfDocument对象
using (var doc = new PdfDocument())
{
// 创建一个PdfWriter实例,指定保存位置
using (var writer = PdfWriter.GetInstance(doc, new FileStream("Desktop/" + "DataGridViewData.pdf", FileMode.Create)))
{
// 开始写入文档
doc.Open();
// 将表格内容转换为 PdfPTable
var table = new PdfPTable(dt.Columns.Count);
foreach (DataColumn column in dt.Columns)
{
table.AddCell(column.ColumnName);
}
// 添加每一行数据到PdfPTable
foreach (DataRow row in dt.Rows)
{
for (int i = 0; i < dt.Columns.Count; i++)
{
table.AddCell(row[i].ToString());
}
table.NewRow();
}
// 将PdfPTable添加到文档中
doc.Add(table);
// 关闭文档
doc.Close();
}
}
MessageBox.Show("PDF已成功保存至桌面!", "Export Successful");
}
catch (Exception ex)
{
MessageBox.Show("导出PDF时出错:" + ex.Message, "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
}
}
```
上述代码假设你的DataGridView的数据源是DataTable。记得在实际应用中处理异常,并可能调整保存路径和文件命名规则。
阅读全文