本文介绍了我如何2 gridview导出pdf? (ASP.NET C#)的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
protected void btnPDF_Click(object sender, EventArgs e)
{
int columnsCount = GridView1.HeaderRow.Cells.Count;
PdfPTable pdfTable = new PdfPTable(columnsCount);
foreach (TableCell gridViewHeaderCell in GridView1.HeaderRow.Cells)
{
Font font = new Font();
font.Color = new BaseColor(GridView1.HeaderStyle.ForeColor);
PdfPCell pdfCell = new PdfPCell(new Phrase(gridViewHeaderCell.Text, font));
pdfCell.BackgroundColor = new BaseColor(GridView1.HeaderStyle.BackColor);
pdfTable.AddCell(pdfCell);
}
foreach (GridViewRow gridViewRow in GridView1.Rows)
{
if (gridViewRow.RowType == DataControlRowType.DataRow)
{
foreach (TableCell gridViewCell in gridViewRow.Cells)
{
Font font = new Font();
font.Color = new BaseColor(GridView1.RowStyle.ForeColor);
PdfPCell pdfCell = new PdfPCell(new Phrase(gridViewCell.Text, font));
pdfCell.BackgroundColor = new BaseColor(GridView1.RowStyle.BackColor);
pdfTable.AddCell(pdfCell);
}
}
}
Document pdfDocument = new Document(PageSize.A4, 5f, 10f, 15f, 12f);
PdfWriter.GetInstance(pdfDocument, Response.OutputStream);
pdfDocument.Open();
pdfDocument.Add(pdfTable);
pdfDocument.Close();
Response.ContentType = "application/pdf";
Response.AppendHeader("content-disposition", "attachment;filename=Rapor.pdf");
Response.Write(pdfDocument);
Response.Flush();
Response.End();
}
这是我的代码。是的它正在工作,但它有一些设计问题而不是只有一个网格的2个网格。
实际上在一份pdf报告中需要2个gridview,它必须没有设计问题。
感谢帮助,抱歉我的英语不好。
[]
推荐答案
pdfDocument.Add(pdfTable1);
pdfDocument.Add(pdfTable2);
这篇关于我如何2 gridview导出pdf? (ASP.NET C#)的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!