Excel To Database in C# & asp.net
Convert your excel to database table in c# using asp.net ,use microsoft Excel reference
Find Code and better Description over here - LINK
Find Code and better Description over here - LINK
public partial class excel : System.Web.UI.Page
{
public string filename1 { get; set; }
protected string UploadFolderPath = "~/Uploads/";
DataSet ds = new DataSet();
//System.Web.HttpContext.Current.Server.MapPath("Book12.xls");
public DataSet GetExcel(string fileName)
{
Application oXL;
Workbook oWB;
Worksheet oSheet;
Range oRng;
try
{
// creat a Application object
oXL = new ApplicationClass();
// get WorkBook object
oWB = oXL.Workbooks.Open(fileName, Missing.Value, Missing.Value, Missing.Value, Missing.Value, Missing.Value,
Missing.Value, Missing.Value, Missing.Value, Missing.Value, Missing.Value, Missing.Value, Missing.Value,
Missing.Value, Missing.Value);
// get WorkSheet object
oSheet = (Microsoft.Office.Interop.Excel.Worksheet)oWB.Sheets[1];
System.Data.DataTable dt = new System.Data.DataTable("dtExcel");
ds.Tables.Add(dt);
DataRow dr;
StringBuilder sb = new StringBuilder();
int jValue = oSheet.UsedRange.Cells.Columns.Count;
int iValue = oSheet.UsedRange.Cells.Rows.Count;
// get data columns
for (int j = 1; j <= jValue; j++)
{
dt.Columns.Add("column" + j, System.Type.GetType("System.String"));
}
//string colString = sb.ToString().Trim();
//string[] colArray = colString.Split(':');
// get data in cell
for (int i = 1; i <= iValue; i++)
{
dr = ds.Tables["dtExcel"].NewRow();
for (int j = 1; j <= jValue; j++)
{
oRng = (Microsoft.Office.Interop.Excel.Range)oSheet.Cells[i, j];
string strValue = oRng.Text.ToString();
dr["column" + j] = strValue;
}
ds.Tables["dtExcel"].Rows.Add(dr);
}
return ds;
}
catch (Exception ex)
{
Label1.Text = "Error: ";
Label1.Text += ex.Message.ToString();
return null;
}
}
protected void btninsert_Click(object sender, EventArgs e)
{
if (fileupload.HasFile)
{
foreach (Process process in Process.GetProcessesByName("EXCEL"))
{
if (process.MainModule.ModuleName.ToUpper().Equals("EXCEL.EXE"))
{
process.Kill();
Thread.Sleep(2000);
break;
}
}
try
{
filename1 = Path.GetFileName(fileupload.FileName);
if (Path.GetExtension(filename1) == ".xls" || Path.GetExtension(filename1) == ".xlsx" || Path.GetExtension(filename1) == ".csv")
{
fileupload.SaveAs(Server.MapPath(this.UploadFolderPath) + filename1);
}
Label1.Text = "Upload status: File uploaded!" + Path.GetExtension(filename1);
string Patfilename = System.Web.HttpContext.Current.Server.MapPath("~/uploads/") + filename1;
GetExcel(Patfilename);
string gettablename = ddltable.SelectedItem.Text.ToString();
//Server.MapPath(this.UploadFolderPath) + filename ;
//First create a connection string to destination database
string connectionString;
connectionString = "Data Source=.;Initial Catalog=classic;Trusted_connection=True";
//Open a connection with destination database;
using (SqlConnection connection =
new SqlConnection(connectionString))
{
connection.Open();
//Open bulkcopy connection.
using (SqlBulkCopy bulkcopy = new SqlBulkCopy(connection))
{
//Set destination table name
//to table previously created.
bulkcopy.DestinationTableName = gettablename;
try
{
bulkcopy.WriteToServer(ds.Tables["dtExcel"]);
}
catch (Exception ex)
{
Console.WriteLine(ex.Message);
}
finally
{
connection.Close();
}
Label2.Text = "inserted succesfully";
}
}
}
catch (Exception ex)
{
Label1.Text = "Upload status: The file could not be uploaded.The following error occured:" + ex.Message;
}
}
else
{
Label1.Text = "Upload status: The file could not be uploaded.";
}
}
}
Hi,
ReplyDeletecan u clearly post the code part in this?
bhaskar
http://csharpektroncmssql.blogspot.com
if you want proper code regarding this i can mail you .. if you are looking for proper description then i can edit this post and will describe everything .
ReplyDelete