Saturday, April 27, 2013

Export excel file in database with C#


namespace DBG.MODEL
{
    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
    using System.Data;
    using DBG.MODEL;
    using System.Configuration;
    using System.Net;
    using System.IO;
    using System.Web;
    using DS.Core.Data;
    public class ExportToDatabase
    {
        #region Properties
        public String Options { get; set; }
        public String MemberID { get; set; }
        public String First { get; set; }
        public String Last { get; set; }
        public String Middle { get; set; }
        public String Address1 { get; set; }
        public String Address2 { get; set; }
        public String City { get; set; }
        public String State { get; set; }
        public String Zip { get; set; }
        public String Expiration { get; set; }
        public String GroupId { get; set; }
        public String Effective { get; set; }
        public String MemberPay { get; set; }
        public String GroupPay { get; set; }
        public String ExtMemberID { get; set; }
        public String WorkPhone { get; set; }
        public String HomePhone { get; set; }
        public String Gender { get; set; }
        public String BirthDate { get; set; }
        public String Language { get; set; }
        public String CardPrintDate { get; set; }
        public String CardShipDate { get; set; }
        public String ActiveStatus { get; set; }
        public String Email { get; set; }
        public String Affiliate { get; set; }
        public String PaymentMethod { get; set; }
        public Boolean BillingInfo { get; set; }
        public String full_name { get; set; }
        public String Expr1000 { get; set; }
        public String CardNumber { get; set; }
        public String ExpMonth { get; set; }
        public String ExpYear { get; set; }
        public String SecurityCode { get; set; }
        public String NameOnAccount { get; set; }
        public String BankName { get; set; }
        public String BankRouting { get; set; }
        public String BankAccount { get; set; }
        public String PaymentDate { get; set; }
        public String AnniversaryDate { get; set; }
        public String BillingFrequency { get; set; }
        public String FailReason { get; set; }



        public Int32 MonthName { get; set; }
        public String ResponseText { get; set; }
        public Int32 CustomerId { get; set; }
        public DateTime FirstPaymentDate { get; set; }

        #endregion

        #region Index values
        public Int32 OptionsIndex = 0;
        public Int32 MemberIDIndex = 1;
        public Int32 FirstIndex = 2;
        public Int32 LastIndex = 3;
        public Int32 MiddleIndex = 4;
        public Int32 Address1Index = 5;
        public Int32 Address2Index = 6;
        public Int32 CityIndex = 7;
        public Int32 StateIndex = 8;
        public Int32 ZipIndex = 9;
        public Int32 ExpirationIndex = 10;
        public Int32 GroupIdIndex = 11;
        public Int32 EffectiveIndex = 12;
        public Int32 MemberPayIndex = 13;
        public Int32 GroupPayIndex = 14;
        public Int32 ExtMemberIDIndex = 15;
        public Int32 WorkPhoneIndex = 16;
        public Int32 HomePhoneIndex = 17;
        public Int32 GenderIndex = 18;
        public Int32 BirthDateIndex = 19;
        public Int32 LanguageIndex = 20;
        public Int32 CardPrintDateIndex = 21;
        public Int32 CardShipDateIndex = 22;
        public Int32 ActiveStatusIndex = 23;
        public Int32 EmailIndex = 24;
        public Int32 AffiliateIndex = 25;
        public Int32 PaymentMethodIndex = 26;
        #endregion
---------------------------------------------------------------------

 public void GenerateListFromExcel(String filePath)
        {
            try
            {
                List failedRecords = new List();
                ExportToDatabase objExportData = new ExportToDatabase();
                List objExcelData = new List();
                String ProviderExcel = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=";
                String ExtendedPropertiesExcel = "Extended Properties=\"Excel 8.0;HDR=Yes;IMEX=1\"";
                String connString = ProviderExcel + filePath + ";" + ExtendedPropertiesExcel;
                System.Data.OleDb.OleDbConnection cn = new System.Data.OleDb.OleDbConnection(connString);
                try
                {
                    cn.Open();
                    DataTable schemaTable = cn.GetOleDbSchemaTable(System.Data.OleDb.OleDbSchemaGuid.Tables, new object[] { null, null, null, "TABLE" });
                    string SheetName = schemaTable.Rows[0][2].ToString();
                    StringBuilder SelectStatement = new StringBuilder();
                    SelectStatement.Append("SELECT * FROM [").Append(SheetName).Append("]");
                    System.Data.OleDb.OleDbDataAdapter da = new System.Data.OleDb.OleDbDataAdapter(SelectStatement.ToString(), cn);


                    DataTable objDataTable = new DataTable();
                    da.Fill(objDataTable);
                    foreach (DataRow item in objDataTable.Rows)
                    {
                        ExportToDatabase objExcel = new ExportToDatabase();
                        objExcel.BillingInfo = true;
                        if (item[0] != null) { objExcel.Options = Convert.ToString(item[0]).Trim(); }
                        if (item[1] != null) { objExcel.MemberID = Convert.ToString(item[1]).Trim(); }
                        if (item[2] != null) { objExcel.First = Convert.ToString(item[2]).Trim(); }
                        if (item[3] != null) { objExcel.Last = Convert.ToString(item[3]).Trim(); }
                        if (item[4] != null) { objExcel.Middle = Convert.ToString(item[4]).Trim(); }
                        if (item[5] != null) { objExcel.Address1 = Convert.ToString(item[5]).Trim(); }
                        if (item[6] != null) { objExcel.Address2 = Convert.ToString(item[6]).Trim(); }
                        if (item[7] != null) { objExcel.City = Convert.ToString(item[7]).Trim(); }
                        if (item[8] != null) { objExcel.State = Convert.ToString(item[8]).Trim(); }
                        if (item[9] != null) { objExcel.Zip = Convert.ToString(item[9]).Trim(); }
                        //if (item[10] != null) { objExcel.Expiration = Convert.ToString(item[10]).Trim(); }
                        //if (item[11] != null) { objExcel.GroupId = Convert.ToString(item[11]).Trim(); }
                        //if (item[12] != null) { objExcel.Effective = Convert.ToString(item[12]).Trim(); }
                        //if (item[13] != null) { objExcel.MemberPay = Convert.ToString(item[13]).Trim(); }
                        //if (item[14] != null) { objExcel.GroupPay = Convert.ToString(item[14]).Trim(); }
                        //if (item[15] != null) { objExcel.ExtMemberID = Convert.ToString(item[15]).Trim(); }
                        if (item[10] != null) { objExcel.WorkPhone = Convert.ToString(item[10]).Trim(); }
                        //if (item[17] != null) { objExcel.HomePhone = Convert.ToString(item[17]).Trim(); }
                        if (item[11] != null) { objExcel.Gender = Convert.ToString(item[11]).Trim(); }
                        if (item[12] != null) { objExcel.BirthDate = Convert.ToString(item[12]).Trim(); }
                        if (item[13] != null) { objExcel.Language = Convert.ToString(item[13]).Trim(); }

                        //if (item[21] != null) { objExcel.CardPrintDate = Convert.ToString(item[21]).Trim(); }
                        //if (item[22] != null) { objExcel.CardShipDate = Convert.ToString(item[22]).Trim(); }
                        //if (item[23] != null) { objExcel.ActiveStatus = Convert.ToString(item[23]).Trim(); }
                        //if (item[24] != null) { objExcel.Email = Convert.ToString(item[24]).Trim(); }
                        //if (item[25] != null) { objExcel.Affiliate = Convert.ToString(item[25]).Trim(); }
                        //if (item[27] != null) { objExcel.full_name = Convert.ToString(item[26]).Trim(); }
                        //if (item[26] != null) { objExcel.PaymentMethod = Convert.ToString(item[27]).Trim(); }
                        //if (item[28] != null) { objExcel.Expr1000 = Convert.ToString(item[28]).Trim(); }
                        //if (item[29] != null) { objExcel.CardNumber = Convert.ToString(item[29]).Trim(); }
                        //if (item[30] != null) { objExcel.ExpMonth = Convert.ToString(item[30]).Trim(); }
                        //if (item[31] != null) { objExcel.ExpYear = Convert.ToString(item[31]).Trim(); }
                        //if (item[32] != null) { objExcel.SecurityCode = Convert.ToString(item[32]).Trim(); }
                        //if (item[33] != null) { objExcel.NameOnAccount = Convert.ToString(item[33]).Trim(); }
                        //if (item[34] != null) { objExcel.BankName = Convert.ToString(item[34]).Trim(); }
                        //if (item[35] != null) { objExcel.BankRouting = Convert.ToString(item[35]).Trim(); }
                        //if (item[36] != null) { objExcel.BankAccount = Convert.ToString(item[36]).Trim(); }
                        //if (item[37] != null) { objExcel.PaymentDate = Convert.ToString(item[37]).Trim(); }
                        //if (item[38] != null) { objExcel.AnniversaryDate = Convert.ToString(item[38]).Trim(); }

                        //if (item[39] != null) { objExcel.BillingFrequency = Convert.ToString(item[39]).Trim(); }
                        objExcelData.Add(objExcel);
                    }
                    cn.Close();
                    objExportData.LoadNewDatabase(objExcelData, out failedRecords);
                    if (failedRecords.Count() > 0)
                    {
                        StringBuilder csvBuilder = new StringBuilder();
                        foreach (ExportToDatabase item in failedRecords)
                        {
                            String[] failedRecord = GetFailedRecord(item);
                            String line = String.Join(",", failedRecord);
                            csvBuilder.AppendLine(line);
                        }
                        GenerateExcelFailedRecords(csvBuilder);
                    }


                }
                catch (Exception)
                {
                    if (failedRecords.Count() > 0)
                    {
                        StringBuilder csvBuilder = new StringBuilder();
                        foreach (ExportToDatabase item in failedRecords)
                        {
                            String[] failedRecord = GetFailedRecord(item);
                            String line = String.Join(",", failedRecord);
                            csvBuilder.AppendLine(line);
                        }
                        GenerateExcelFailedRecords(csvBuilder);
                    }
                }
                finally
                {
                    cn.Close();
                }

            }
            catch (Exception ex)
            {
                ErrorLog.InsertError(ex.Message.ToString(), ex.Source.ToString(), ex.StackTrace.ToString(), ex.TargetSite.ToString());
                throw ex;
            }
        }

fill in blanks

ALL Reading Blanks: Special All approaches aim to increase blood flow to areas of tension and to release painful knots opt1 muscle kn...