Sunday, August 4, 2019

சி ஷார்ப்பில் டேட்டா கிரிட் வியூ டேட்டாவை pdf ஆக எக்ஸ்போர்ட் செய்தல்.



இந்த கட்டுரையில் ஒரு டேட்டா கிரிட் வியூவிலிந்து pdf ஆக எக்ஸ்போர்ட் செய்து அதை ஒரு pdf ஃபைல் ஆக ஃபோல்டரில் சேமிப்பது எப்படி என்று விவரிகின்றது.
முதலில் சி ஷார்ப்பில் இருந்த படியே எஸ்கியூஎல் சர்வருடன் கனக்ட் செய்து டேட்டாவை முதலில் எவ்வாறு க்ரிட் வியூவில் காண்பிப்பது என்று காண்போம்.

முதலில் ஒரு டேட்டா கிரிட் வியூவையும் ஒரு பட்டனையும் ஃபார்மில் இணைக்கவும். பிறகு ஃபார்ம் லோட் ஈவண்டில் பின் வரும் கோடிங்க் எழுதவும்.
private void FrmExport_Load(object sender, EventArgs e)  
{  
    SqlConnection sqlCon;  
    string conString = null;  
    string sqlQuery = null;  
  
    conString = "Data Source=.;Initial Catalog=Test;Integrated Security=SSPI;"
    sqlCon = new SqlConnection(conString);  
    sqlCon.Open();  
    sqlQuery = "SELECT * FROM tblEmployee";  
    SqlDataAdapter dscmd = new SqlDataAdapter(sqlQuery, sqlCon);  
    DataTable dtData = new DataTable();  
    dscmd.Fill(dtData);   dataGridView1.DataSource = dtData;  
}  

பிறகு பட்டனை கிளிக் செய்து அதன் கிளிக் ஈவண்டில் பின் வரும் கோடிங்கை எழுதவும்.
private void btnPdf_Click(object sender, EventArgs e)  
{  
    if (dataGridView1.Rows.Count > 0)  
    {  
        SaveFileDialog sfd = new SaveFileDialog();  
        sfd.Filter = "PDF (*.pdf)|*.pdf";  
        sfd.FileName = "Output.pdf";  
        bool fileError = false;  
        if (sfd.ShowDialog() == DialogResult.OK)  
        {  
            if (File.Exists(sfd.FileName))  
            {  
                try  
                {  
                    File.Delete(sfd.FileName);  
                }  
                catch (IOException ex)  
                {  
                    fileError = true;  
                    MessageBox.Show("It wasn't possible to write the data to the disk." + ex.Message);  
                }  
            }  
            if (!fileError)  
            {  
                try  
                {  
                    PdfPTable pdfTable = new PdfPTable(dataGridView1.Columns.Count);  
                    pdfTable.DefaultCell.Padding = 3;  
                    pdfTable.WidthPercentage = 100;  
                    pdfTable.HorizontalAlignment = Element.ALIGN_LEFT;  
  
                    foreach (DataGridViewColumn column in dataGridView1.Columns)  
                    {  
                        PdfPCell cell = new PdfPCell(new Phrase(column.HeaderText));  
                        pdfTable.AddCell(cell);  
                    }  
  
                    foreach (DataGridViewRow row in dataGridView1.Rows)  
                    {  
                        foreach (DataGridViewCell cell in row.Cells)  
                        {  
                            pdfTable.AddCell(cell.Value.ToString());  
                        }  
                    }  
  
                    using (FileStream stream = new FileStream(sfd.FileName, FileMode.Create))  
                    {  
                        Document pdfDoc = new Document(PageSize.A4, 10f, 20f, 20f, 10f);  
                        PdfWriter.GetInstance(pdfDoc, stream);  
                        pdfDoc.Open();  
                        pdfDoc.Add(pdfTable);  
                        pdfDoc.Close();  
                        stream.Close();  
                    }  
  
                    MessageBox.Show("Data Exported Successfully !!!""Info");  
                }  
                catch (Exception ex)  
                {  
                    MessageBox.Show("Error :" + ex.Message);  
                }  
            }  
        }  
    }  
    else  
    {  
        MessageBox.Show("No Record To Export !!!""Info");  
    }  

இப்பொழுது ஃபார்மை இயக்கி டேட்டா லோட் ஆன பிறகு பட்டனை கிளிக் செய்யவும்,. இப்பொழுது ஒரு சேவ் டையலாக் பாக்ஸ் வரும் அதில் ஃபைல் பெயர், லொகேசன் ஆகியவற்றை கொடுத்து டேட்டாவை சேமிக்கவும்.
இப்பொழுது அந்த லொகேசனில் pdf உருவாகி இருக்கும்.
நன்றி
முத்து கார்த்திகேயன்,மதுரை.

ads Udanz

No comments:

Post a Comment