0% encontró este documento útil (0 votos)
509 vistas4 páginas

Exportar DataGridView a PDF en C#

Este documento explica cómo exportar datos de un DataGridView a un archivo PDF en C#. Se describen los pasos para referenciar el paquete iTextSharp, crear un nuevo documento PDF, agregar una tabla con los datos del DataGridView, establecer formatos y guardar el archivo. Primero se crea el documento PDF, luego se genera una tabla con las dimensiones y datos del DataGridView y finalmente se agrega esta tabla al documento y se guarda.

Cargado por

robertbe12
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como DOCX, PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
509 vistas4 páginas

Exportar DataGridView a PDF en C#

Este documento explica cómo exportar datos de un DataGridView a un archivo PDF en C#. Se describen los pasos para referenciar el paquete iTextSharp, crear un nuevo documento PDF, agregar una tabla con los datos del DataGridView, establecer formatos y guardar el archivo. Primero se crea el documento PDF, luego se genera una tabla con las dimensiones y datos del DataGridView y finalmente se agrega esta tabla al documento y se guarda.

Cargado por

robertbe12
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como DOCX, PDF, TXT o lee en línea desde Scribd

Exportar datos de Datagridview A PDF,

Lenguaje C#

BUEN DA MUCHACHOS EN ESTE POST LES EXPLICARE COMO ENVIAR DATOS DE UN GRIDVIEW A
UN PDF DESDE C#.. BN EMPECEMOS
--YA SABEN QUE NECESITAREMOS EL Itextsharp.dll Y REFERENCIARLO EN EL PROYECTO-UNA VEZ HECHO ESTO AADAN LAS SIGUIENTES REFERENCIAS:
using
using
using
using

iTextSharp.text;
iTextSharp.text.pdf;
System.Diagnostics;
System.IO;

EN ESTE CASO YO UTILICE


.. 1 GRIDVIEW
.. 1 COMBOBOX
.. 1 BOTON
//DISCULPEN POR EL DESORDEN
//BOTON

private void btnpdf_Click(object sender, EventArgs e)


{
if (dtalumnos.RowCount == 0)
{ MessageBox.Show("No Hay Datos Para Realizar Un Reporte", "Mensaje",
MessageBoxButtons.OK, MessageBoxIcon.Information);
}
else
{

//ESCOJE A RUTA DONDE GUARDAREMOS EL PDF


SaveFileDialog save = new SaveFileDialog();
save.Filter = "PDF Files (*.pdf)|*.pdf|All Files (*.*)|*.*";
if (save.ShowDialog() == DialogResult.OK)
{
string filename = save.FileName;
DateTime hora = DateTime.Now;

string fcha_ttal = Convert.ToDateTime(hora).Day + "/" + Convert.ToDateTime(hora).Month


+ "/" + Convert.ToDateTime(hora).Year;
Document doc = new Document(PageSize.A3, 9, 9, 9, 9);
iTextSharp.text.Image jpg = iTextSharp.text.Image.GetInstance(@"C:\Users\CA
MILO\Mis Documentos\videos1.JPG"); jpg.Alignment = iTextSharp.text.Image.ALIGN_RIGHT
;

//iTextSharp.text.Image jpg = iTextSharp.text.Image.GetInstance(@"C:\Users\


pc23\Documents\Profe6.JPG"); jpg.Alignment = iTextSharp.text.Image.ALIGN_RIGHT;
Chunk encab = new Chunk("Alumnos De " + cmbcurso.Text + " ", FontFactory.GetFo
nt("COURIER", 18));
Chunk ap = new Chunk("REPORTE " + fcha_ttal + " ", FontFactory.GetFont("COURI
ER", 18));
try
{
FileStream file = new FileStream(filename, FileMode.OpenOrCreate);
PdfWriter writer = PdfWriter.GetInstance(doc, file);
writer.ViewerPreferences = PdfWriter.PageModeUseThumbs;
writer.ViewerPreferences = PdfWriter.PageLayoutOneColumn;
doc.Open();
doc.Add(new Paragraph(encab));
doc.Add(new Paragraph(ap));
doc.Add(jpg);
GenerarDocumentos(doc);
Process.Start(filename);
doc.Close();
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
}
}
}
//Funcin que genera el documento Pdf
public void GenerarDocumentos(Document document)
{
//se crea un objeto PdfTable con el numero de columnas del dataGridView
PdfPTable datatable = new PdfPTable(dtalumnos.ColumnCount);
//asignamos algunas propiedades para el diseo del pdf
datatable.DefaultCell.Padding = 1;
float[] headerwidths = GetTamaoColumnas(dtalumnos);

datatable.SetWidths(headerwidths);
datatable.WidthPercentage = 100;
datatable.DefaultCell.BorderWidth = 1;
datatable.DefaultCell.BackgroundColor = iTextSharp.text.BaseColor.WHITE;//DEFINI
MOS EL COLOR DE LAS CELDAS EN EL PDF
datatable.DefaultCell.BorderColor = iTextSharp.text.BaseColor.BLACK;//DEFINIMOS
EL COLOR DE LOS BORDES
iTextSharp.text.Font fuente = new iTextSharp.text.Font(iTextSharp.text.Font.FontFa
mily.HELVETICA);//LA FUENTE DE NUESTRO TEXTO
Phrase objP = new Phrase("A", fuente);
datatable.DefaultCell.HorizontalAlignment = Element.ALIGN_CENTER;
//SE GENERA EL ENCABEZADO DE LA TABLA EN EL PDF
for (int i = 0; i < dtalumnos.ColumnCount; i++)
{
objP = new Phrase(dtalumnos.Columns.HeaderText, fuente);
datatable.HorizontalAlignment = Element.ALIGN_CENTER;
datatable.AddCell(objP);
}
datatable.HeaderRows = 2;
datatable.DefaultCell.BorderWidth = 1;
//SE GENERA EL CUERPO DEL PDF
for (int i = 0; i < dtalumnos.RowCount; i++)
{
for (int j = 0; j < dtalumnos.ColumnCount; j++)
{
objP = new Phrase(dtalumnos[j, i].Value.ToString(), fuente);
datatable.AddCell(objP);
}
datatable.CompleteRow();

}
document.Add(datatable);
}
//Funcin que obtiene los tamaos de las columnas del datagridview
public float[] GetTamaoColumnas(DataGridView dg)
{
float[] values = new float[dg.ColumnCount];//ESTE ARRAY
GUARDA EL NUMERO DE COLUMNAS DEL GRIDVIEW
for (int i = 0; i < dg.ColumnCount; i++)
{
values = (float)dg.Columns.Width;//VAYA ASIGNANDO A UNA POSICION DEL VEC
TOR EL ANCHO DE CADA COLUMNA
}
return values;
}
BN ESO FUE TODO ESPERO QUE LES HAYA SERVIDO ESTE POST - See more at:
http://www.identi.li/index.php?topic=322774#sthash.0yeE4ieY.dpuf

También podría gustarte