Click here to Skip to main content
15,919,749 members
Please Sign up or sign in to vote.
0.00/5 (No votes)
See more:
C#
private void button2_Click_1(object sender, EventArgs e)
{



    string query = "SELECT column1,column2 FROM [Sheet1$]";



    try
    {

        String strConnectionString = "";

        strConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;" +
             "Data Source=" + "D:\\SubjectMaster.xls" + "; Jet OLEDB:Engine Type=5;" +
                                          "Extended Properties=\"Excel 8.0;HDR=YES;IMEX=1\";";
        OleDbConnection cnCSV = new OleDbConnection(strConnectionString);
        //cnCSV.Open();


        OleDbCommand cmdSelect = new OleDbCommand(query, cnCSV);
        OleDbDataAdapter daCSV = new OleDbDataAdapter();
        daCSV.SelectCommand = cmdSelect;


        OleDbDataReader dReader;
        dReader = cmdSelect.ExecuteReader();
        DataSet ds = new DataSet();

        SqlBulkCopy sqlBulk = new SqlBulkCopy(strConnectionString);
        //Give your Destination table name
        sqlBulk.DestinationTableName = "SubjectMaster";
        sqlBulk.ColumnMappings.Add(0, 1);
        sqlBulk.ColumnMappings.Add(1, 2);
        sqlBulk.WriteToServer(dReader);


        //System.Data. DataTable dtCSV = new System.Data. DataTable();
        DataSet da = new DataSet();
        daCSV.Fill(da);
        dataGridView1.DataSource = da.Tables[0];
        cnCSV.Close();
        MessageBox.Show("Successful");
    }
    catch (Exception )
    {



SqlConnection con = new SqlConnection("Server =KK-PC;Initial Catalog = EducaBase;User id = sa;Password = sa2008;");

   //  if Not Exists (SELECT * FROM SubjectMaster WHERE ID=NULL)
con.Open();
    SqlCommand com = new SqlCommand("INSERT Into  SubjectMaster (Su_ID,Su_Name,Su_Level_ID,Su_Level_SUB) VALUES (SUB10,Physics II,PUC,PHY)");
    //com.ExecuteNonQuery();

     MessageBox.Show("Successful");

      }



When i Click on button the excel file is not generated.
can any one help me to solve this problem.
Thanks.
Posted
Updated 18-Feb-14 19:35pm
v2

 
Share this answer
 
Try this code:

C#
<table><tbody><tr><td><asp:fileupload id="testFileUpload" runat="server" xmlns:asp="#unknown" /></td><td><asp:button id="btnUpload" runat="server" height="21px" text="Upload" width="92px" onclick="btnUpload_Click" xmlns:asp="#unknown" /></td></tr></tbody></table>
   

    <br />  
    <asp:gridview id="dataGridView" runat="server" xmlns:asp="#unknown">
    </asp:gridview>



In your button event:

C#
try
        {
            if (testFileUpload.HasFile)
            {
                fileName = Path.GetFileName(testFileUpload.PostedFile.FileName);
                fileExtension = Path.GetExtension(testFileUpload.PostedFile.FileName);
                fileLocation = Server.MapPath("~/App_Data/" + fileName);

                GetData(fileLocation);
                Label1.Text = "File is ok to upload.";
            }
        }
        catch (Exception ex)
        {
            Label1.Text = "File is not expected formated.";
        }


C#
public void GetData(string loc)
    {
        testFileUpload.SaveAs(fileLocation);
        //Check whether file extension is xls or xslx

        if (fileExtension == ".xls")
        {
            connectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + loc + ";Extended Properties=\"Excel 8.0;HDR=Yes;IMEX=2\"";
        }
        else if (fileExtension == ".xlsx")
        {
            connectionString = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" + loc + ";Extended Properties=\"Excel 12.0;HDR=Yes;IMEX=2\"";
        }

        dtExcelRecords.Clear();
        dtExcelRecords.Reset();

        //Create OleDB Connection and OleDb Command

        con = new OleDbConnection(connectionString);

        cmd.CommandType = System.Data.CommandType.Text;
        cmd.Connection = con;
        dAdapter = new OleDbDataAdapter(cmd);

        con.Open();
        dtExcelSheetName = con.GetOleDbSchemaTable(OleDbSchemaGuid.Tables, null);
        getExcelSheetName = dtExcelSheetName.Rows[0]["Table_Name"].ToString();
        cmd.CommandText = "SELECT * FROM [" + getExcelSheetName + "]";
        dAdapter.SelectCommand = cmd;
        dAdapter.Fill(dtExcelRecords);
        con.Close();

        dataGridView.DataSource = dtExcelRecords;
        dataGridView.DataBind();

    }
 
Share this answer
 

This content, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)



CodeProject, 20 Bay Street, 11th Floor Toronto, Ontario, Canada M5J 2N8 +1 (416) 849-8900