C# SQL’deki Verileri PDF Aktarma
19 Aralık 2022 C#
Yazımızda Grid’deki verileri PDF olarak kaydetmeyi göstereceğiz.
ilk önce PDF dosyasıyla işlem yapabilmek için aşağıdaki WolfeReiter.iTextSharp.BC kütüphanesini ekleyelim
Kütüphanemizi ekledikten sonra Form sayfamıza grid, button ve saveFileDialog ekleyelim. SQL’den herhangi bir tabloyu kullanabilirsiniz.
butona tıklayalım ve kodlarımızı yazalım
private void btnPdfAktar_Click(object sender, EventArgs e)
{
SaveFileDialog save = new SaveFileDialog();
save.OverwritePrompt = false;
save.Title = "PDF Dosyası";
save.DefaultExt = "pdf";
save.Filter = "PDF Dosyası (*.pdf)|*.pdf|Tüm Dosyalar(*.*)|*.*";
if (save.ShowDialog() == DialogResult.OK)
{
PdfPTable pdfTable = new PdfPTable(dataGridView1.ColumnCount);
pdfTable.DefaultCell.Padding = 3; // hücre duvarı ve veri arasında mesafe
pdfTable.WidthPercentage = 80; // hücre genişliği
pdfTable.HorizontalAlignment = Element.ALIGN_LEFT; // yazı hizalaması
pdfTable.DefaultCell.BorderWidth = 1;
foreach (DataGridViewColumn column in dataGridView1.Columns)
{
PdfPCell cell = new PdfPCell(new Phrase(column.HeaderText));
cell.BackgroundColor = new iTextSharp.text.Color(240, 240, 240); // hücre arka plan rengi
pdfTable.AddCell(cell);
}
try
{
foreach (DataGridViewRow row in dataGridView1.Rows)
{
foreach (DataGridViewCell cell in row.Cells)
{
pdfTable.AddCell(cell.Value.ToString());
}
}
}
catch (NullReferenceException)
{
}
using (FileStream stream = new FileStream(save.FileName + ".pdf", FileMode.Create))
{
Document pdfDoc = new Document(PageSize.A2, 10f, 10f, 10f, 0f);// sayfa boyutu.
PdfWriter.GetInstance(pdfDoc, stream);
pdfDoc.Open();
pdfDoc.Add(pdfTable);
pdfDoc.Close();
stream.Close();
}
}
}
Kodlarımız yazdıktan sonra programa tıklayıp sonuçlara bakalım
PDF ÇIKTISI