How to Upload Excel File in C#


  1. using System;  
  2. using System.Collections.Generic;  
  3. using System.ComponentModel;  
  4. using System.Data;  
  5. using System.Drawing;  
  6. using System.Linq;  
  7. using System.Text;  
  8. using System.Windows.Forms;  
  9. namespace ClientManagementApp  
  10. {  
  11.    public partial class Upload : Form  
  12.    {  
  13.       // Microsoft.Office.Interop.Excel.Range xlsRange;  
  14.       string m_FlType;  
  15.       public Upload()  
  16.       {  
  17.          InitializeComponent();  
  18.       }  
  19.       private void btnSelFile_Click(object sender, EventArgs e)  
  20.       {  
  21.          try  
  22.          {  
  23.             lblMsg.Text = "";  
  24.             lblMsg.Update();  
  25.             m_FlType = "*.xls";  
  26.             OpenFileDialog op = new OpenFileDialog();  
  27.             op.InitialDirectory = @"C:\";  
  28.             if (m_FlType == "xls" || m_FlType == "Xls")  
  29.             {  
  30.                op.Filter = "Excel Files(*.xls)|*.xls|DBF Files(*.dbf)|*.dbf|Excel Files(*.xlsx)|*.xlsx";  
  31.          }  
  32.          op.ShowDialog();  
  33.          txtSelFlNm.Text = op.FileName;  
  34.          //btnImport.Enabled = true;  
  35.          //btnImport.Focus();  
  36.       }  
  37.       catch (Exception ex)  
  38.       {  
  39.          MessageBox.Show(ex.Message);  
  40.          btnSelFile.Focus();  
  41.          return;  
  42.       }  
  43.    }  
  44.    private void btnUpload_Click(object sender, EventArgs e)  
  45.    {  
  46.       string M_CHQNO, M_TENURE, M_CUST_ID, M_CHQ_DATE, M_MICR;  
  47.       m_Cnt1 = 0;  
  48.       lblMsg.Text = "";  
  49.       lblMsg.Update();  
  50.       lblMsg.Text = "Upload is processing please wait..";  
  51.       lblMsg.Update();  
  52.       this.Cursor = Cursors.WaitCursor;  
  53.       lblTotRecInFile.Visible = lblTotRecUpload.Visible = true;  
  54.       //m_SysDt = Convert.ToString(DateTime.Now.ToShortDateString());  
  55.       //DateTime date2 = Convert.ToDateTime(DateTime.Now.ToString());  
  56.       //dt = string.Format("{0:ddMMyyyHHmmss}", date2);  
  57.       //m_Inwdt = Convert.ToDateTime(m_Inwdt).ToShortDateString();  
  58.       if (!File.Exists(m_FlNm))  
  59.       {  
  60.          Strmwrt = new StreamWriter(m_FlNm);  
  61.       }  
  62.       else  
  63.       {  
  64.          Strmwrt = File.AppendText(m_FlNm);  
  65.       }  
  66.          m_QryStr = "SELECT NVL(MAX(SRNO),0)+1 FROM " + cls_General.GL_NACHTxn + " WHERE NPCI_USERCODE = '" + cls_General.GL_NACHUtilityCd + "' ";  
  67.       OracleDataReader drMaxsrno = DbObj.gl_ExeReader(m_QryStr);  
  68.       if (drMaxsrno.Read())  
  69.       {  
  70.          M_SRNO = Convert.ToInt32(drMaxsrno.GetValue(0).ToString());  
  71.       }  
  72.       drMaxsrno.Close();  
  73.       m_QryStr = "SELECT * FROM " + cls_General.GL_NACHClientPrDataTmp + " ORDER BY SRNO ";  
  74.       OracleDataReader dr = DbObj.gl_ExeReader(m_QryStr);  
  75.       while (dr.Read())  
  76.       {  
  77.          M_EcsDate = Convert.ToDateTime(dr["ECS_DATE"]).ToShortDateString();  
  78.         m_QryStr = "SELECT * FROM " + cls_General.GL_NACHTxn + " WHERE UMRN='" + dr["UMRN"] + "' AND ECS_DATE=TO_DATE('" + M_EcsDate + "','DD/MM/YYYY') " +  
  79. " AND NVL(CLG_STATUS,1) <> 0 ";  
  80.          OracleDataReader DR1 = DbObj.gl_ExeReader(m_QryStr);  
  81.          if (DR1.Read())  
  82.          {
  83.              //FOR DUPLICATE CHECKING IN DATA FILE  
  84.             Strmwrt.WriteLine(string.Format("{0,-8} {1,-30} {2,-20} {3,-10} {4,-10} {5,-50}", M_RecNO, DR1["UMRN"], DR1["ACNO"], DR1["AMOUNT"], Convert.ToDateTime(DR1["ECS_DATE"]).ToString("dd/MM/yyyy"), "Duplicate Record In Data"));  
  85.             M_RecNO++;  
  86.             lblRejct.Visible = true;  
  87.             lblRejct.Update();  
  88.             m_RejCnt2++;  
  89.          }  
  90.          else  
  91.          {  
  92.             M_CycleDate = Convert.ToDateTime(dr["CYCLE_DATE"]).ToShortDateString();  
  93.             M_StlmntDate = Convert.ToDateTime(dr["SETTLEMENT_DATE"]).ToShortDateString();  
  94.             M_EcsDate = Convert.ToDateTime(dr["ECS_DATE"]).ToShortDateString();  
  95.             m_QryStr = "INSERT INTO " + cls_General.GL_NACHTxn + " (SRNO, TXN_TYPE, TXN_DESCRIPTION, CYCLE_DATE, SETTLEMENT_DATE, CUSTOMER_NAME, " +  
  96. " AC_TYPE, LEDEGER_FOLIO, AMOUNT, ECS_DATE, BANK_CODE, ACNO, TRN_REFNO, UMRN, MOBILE_NO, EMAIL_ID, IMPORT_DATE, IMPORT_USER,NPCI_USERCODE,NPCI_USERNAME,CUST_REFNO, SCH_REFNO,PYMT_TYPE) VALUES " +  
  97. " ('" + M_SRNO + "','" + dr["TXN_TYPE"] + "','" + dr["TXN_DESCRIPTION"] + "',TO_DATE('" + M_CycleDate + "','DD/MM/YYYY'), " +  
  98. " TO_DATE('" + M_StlmntDate + "','DD/MM/YYYY'),'" + dr["CUSTOMER_NAME"] + "','" + dr["AC_TYPE"] + "','" + dr["LEDEGER_FOLIO"] + "'," +  
  99. " '" + dr["AMOUNT"] + "',TO_DATE('" + M_EcsDate + "','DD/MM/YYYY'),'" + dr["BANK_CODE"] + "','" + dr["ACNO"] + "'," +  
  100. "'" + dr["TRN_REFNO"] + "','" + dr["UMRN"] + "','" + dr["MOBILE_NO"] + "','" + dr["EMAIL_ID"] + "',TO_DATE('" + cls_General.GL_SystmDt + "','DD/MM/YYYY')," + cls_General.GL_UsrCd + ",'" + dr["NPCI_USERCODE"] + "','" + cls_General.GL_NPCIUserName.Trim() + "','" + dr["CUST_REFNO"] + "','" + dr["SCH_REFNO"] + "','" + dr["PYMT_TYPE"] + "')";  
  101.             DbObj.gl_ExeNonQuery(m_QryStr);  
  102.             M_SRNO++;  
  103.             m_Cnt1++;  
  104.          }  
  105.          DR1.Close();  
  106.       }  
  107.       dr.Close();  
  108.       Strmwrt.Close();  
  109.       lblTotRecInFile.Text = "Total Record In Upload File:" + M_CNT;  
  110.       lblTotRecUpload.Text = "Total Record Upload :" + m_Cnt1;  
  111.       lblRejct.Text = "Total Record Rejct/Duplicate :" + m_RejCnt2;  
  112.       lblTotRecInFile.Update();  
  113.       lblTotRecUpload.Update();  
  114.       if (m_RejCnt2 > 0)  
  115.       {  
  116.          lblMsg.Text = "File Uploaded with remarks";  
  117.          MessageBox.Show("File Uploaded with remarks " + m_FlNm);  
  118.       }  
  119.       else  
  120.       {  
  121.          lblMsg.Text = "File Uploaded Sucessfully";  
  122.       }  
  123.       lblMsg.Update();  
  124.       btnUpload.Enabled = false;  
  125.       btnUpload.Update();  
  126.       this.Cursor = Cursors.Default;  
  127.    }  
  128.