Click here to Skip to main content
15,887,746 members
Please Sign up or sign in to vote.
2.50/5 (2 votes)
See more:
good morning everybody,

i am exporting the data from Sql table....my code is given below
actually i am using same Excel Sheet ...first of all i export Excel sheet then same sheet i am trying to import in samr Sql table...
C#
private void ExportToExcel(string strFileName, DataGrid dg)
    {
        Response.ClearContent();
        Response.AddHeader("content-disposition", "attachment; filename=" + strFileName);
        Response.ContentType = "application/excel";
        System.IO.StringWriter sw = new System.IO.StringWriter();
        HtmlTextWriter htw = new HtmlTextWriter(sw);
        dg.RenderControl(htw);
        Response.Write(sw.ToString());
        Response.End();
    }

    protected void Button1_Click1(object sender, EventArgs e)
    {
       
        SqlDataAdapter ad = new SqlDataAdapter("select * from st", strConnection1);
        strConnection1.Open();

        DataTable dtOriginal = new DataTable();
        ad.Fill(dtOriginal );
    
        //Create Tempory Table
        DataTable dtTemp = new DataTable();

        //Creating Header Row
        dtTemp.Columns.Add(" Name");
        dtTemp.Columns.Add("Age");
      
       

        DataRow drAddItem;
        for (int i = 0; i < dtOriginal.Rows.Count; i++)
        {
            drAddItem = dtTemp.NewRow();
            drAddItem[0] = dtOriginal.Rows[i][0].ToString();//Name
            drAddItem[1] = dtOriginal.Rows[i][1].ToString();//Age

           

            dtTemp.Rows.Add(drAddItem);
        }

        //Temp Grid
       
        DataGrid dg = new DataGrid();
        dg.DataSource = dtTemp;
        dg.DataBind();
        ExportToExcel("Sheet1.xls", dg);
        dg = null;
        dg.Dispose();
        strConnection1.Close();
    }

so is generate the excel sheet on my drive with name Sheet1.xls

then i try to import this data again into Sql Table.
then i give an error-"External table is not in the expected format."

if i self create a sheet1.xls with same schema then it work and import data in to table.
my code is--
C#
on button click-
{
  string excelConnectionString = @"Provider=Microsoft.ACE.OLEDB.12.0;Data Source=H:\Sheet1.xls;Extended Properties=""Excel 12.0 Xml;HDR=YES""";
      
      
      //Create Connection to Excel work book
         
        OleDbConnection excelConnection =new OleDbConnection(excelConnectionString);
         //Create OleDbCommand to fetch data from Excel
        /*   OleDbCommand cmd = new OleDbCommand("Select [ID],[Name],[Designation] from [Sheet1$]", excelConnection);
          excelConnection.Open();
          OleDbDataReader dReader;
          dReader = cmd.ExecuteReader();
          SqlBulkCopy sqlBulk = new SqlBulkCopy(strConnection);
          //Give your Destination table name
          sqlBulk.DestinationTableName = "Excel_table";
          sqlBulk.WriteToServer(dReader);
          excelConnection.Close(); */
        ////////////////////
       
         OleDbCommand cmd1 = new OleDbCommand("Select * from [Sheet1$]", excelConnection);
         excelConnection.Open();
         OleDbDataReader dReader2;
         dReader2 = cmd1.ExecuteReader();
         SqlBulkCopy sqlBulk1 = new SqlBulkCopy(strConnection);
         //Give your Destination table name
         sqlBulk1.DestinationTableName = "st";
         sqlBulk1.WriteToServer(dReader2);
         excelConnection.Close(); 
      }

so please help me so that i can export and import same Excel sheet.
thanks
Posted
Updated 24-Jul-12 21:50pm
v3

1 solution

 
Share this answer
 
Comments
mayank1290 25-Jul-12 2:48am    
i used Connection strings but it gave same error please send me modified code with my code

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