使用c#和ASP.NET将两张数据从excel导入到两个sql server表中 [英] import two sheets data from excel to two sql server table using c# and ASP.NET

查看:69
本文介绍了使用c#和ASP.NET将两张数据从excel导入到两个sql server表中的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我成功将excel数据(Sheet1)导入一个sql server表...现在我想将多张excel文件数据导入sql server到他们(很多表)各自的表...我正在尝试一些但我无法做到这一点......我的代码写在下面..



I am successfully import excel data(Sheet1) to one sql server table... now i want to import many sheet of excel file data into sql server to their (many tables) respective tables... Some what i am trying but i cant able to do this... My code written below..

<asp:FileUpload ID="FlUploadcsv" runat="server" />
    <asp:Button ID="btnIpload" runat="server" Text="Import" OnClick="btnIpload_Click" />
    <asp:Label ID="Label1" runat="server" Text="Label"></asp:Label>
    <br />
    <asp:GridView ID="gvEmployee" runat="server" width="100%"> <HeaderStyle BackColor="#89A0FE" />
</asp:GridView>





c#:

public partial class _Default:System.Web.UI.Page

{

SqlConnection conn = new SqlConnection(Data Source = User-PC; Initial Catalog = master; Integrated Security = True );

protected void Page_Load(object sender,EventArgs e)

{

if(!IsPostBack)

{

BindGrid();

}

}

void ImporttoDatatable()

{

试试

{

if(FlUploadcsv.HasFile)

{

string FileName = FlUploadcsv.FileName;

string path = string.Concat(Server.MapPath( 〜/ Document /+ FlUploadcsv.FileName));

FlUploadcsv.PostedFile.SaveAs(path);

OleDbConnection OleDbcon = new OleDbConnection(Provider = Microsoft.ACE。 OLEDB.12.0;数据源=+路径+;扩展属性= Excel 12.0;);

OleDbCommand cmd1 =新OleDbCommand(SELECT * FROM [Sheet1 $],OleDbcon);

OleDbCommand cmd2 =新的OleDbCommand(选择*来自[Sheet2 $],OleDbcon);

// OleDbCommand cmd3 =新的OleDbCommand(选择*来自[Sheet3 $],OleDbcon);



OleDbDataAdapter oad1 = new OleDbDataAdapter(cmd1);

OleDbDataAdapter oad2 = new OleDbDataAdapter(cmd2);

// OleDbDataAdapter oad3 = new OleDbDataAdapter(cmd3);





OleDbcon.Open();

//为数据工作表创建DbDataReader

DbDataReader dr1 = cmd1.ExecuteReader();

DbDataReader dr2 = cmd2.ExecuteReader();

// DbDataReader dr3 = cmd3.ExecuteReader();





// SQL Server连接字符串

string constr = @Data Source = User-PC; Initial Catalog = master; Integrated Security = True;

//批量复制到SQL Server

SqlBulkCopy bulkInsert = new SqlBulkCopy(constr);

bulkInsert.DestinationTableName =EmployeeDetails;

bulkInsert.WriteToServer(dr1);

bulkInsert .DestinationTableName =EmpImport;

bulkInsert.WriteToServer(dr2);

// bulkInsert.WriteToServer(dr3);

OleDbcon.Close ();

//Array.ForEach(Directory.GetFiles((Server.MapPath(\"~//Document/))),File.Delete);

Label1 .ForeColor = Color.Green;

Label1.Text =已成功插入;

}

其他

{

Label1.ForeColor = Color.Red;

Label1.Text =请选择文件;

}

}

catch(例外情况)

{

}

}



void BindGrid()

{

DataSet ds = new DataSet();

conn.Open();

string cmdstr =从EmployeeDetails中选择*;

SqlCommand cmd = new SqlCommand(cmdstr,conn);

SqlDataAdapter adp = new SqlDataAdapter(cmd); < br $>


string cmdstr2 =select * from EmpImport;

SqlCommand cmd2 = new SqlCommand(cmdstr2,conn);

SqlDataAdapter adp2 = new SqlDataAdapter(cmd);

adp.Fill(ds) ;



gvEmployee.DataSource = ds;

gvEmployee.DataBind();

ds.Dispose() ;

conn.Close();

}

protected void btnIpload_Click(object sender,EventArgs e)

{

ImporttoDatatable();

BindGrid();

}

}



c#:
public partial class _Default : System.Web.UI.Page
{
SqlConnection conn = new SqlConnection("Data Source=User-PC;Initial Catalog=master;Integrated Security=True");
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
BindGrid();
}
}
void ImporttoDatatable()
{
try
{
if (FlUploadcsv.HasFile)
{
string FileName = FlUploadcsv.FileName;
string path = string.Concat(Server.MapPath("~/Document/" + FlUploadcsv.FileName));
FlUploadcsv.PostedFile.SaveAs(path);
OleDbConnection OleDbcon = new OleDbConnection("Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" + path + ";Extended Properties=Excel 12.0;");
OleDbCommand cmd1 = new OleDbCommand("SELECT * FROM [Sheet1$]", OleDbcon);
OleDbCommand cmd2 = new OleDbCommand("Select * from [Sheet2$]", OleDbcon);
// OleDbCommand cmd3 = new OleDbCommand("Select * from [Sheet3$]", OleDbcon);

OleDbDataAdapter oad1 = new OleDbDataAdapter(cmd1);
OleDbDataAdapter oad2 = new OleDbDataAdapter(cmd2);
// OleDbDataAdapter oad3 = new OleDbDataAdapter(cmd3);


OleDbcon.Open();
// Create DbDataReader to Data Worksheet
DbDataReader dr1 = cmd1.ExecuteReader();
DbDataReader dr2 = cmd2.ExecuteReader();
// DbDataReader dr3 = cmd3.ExecuteReader();


// SQL Server Connection String
string constr = @"Data Source=User-PC;Initial Catalog=master;Integrated Security=True";
// Bulk Copy to SQL Server
SqlBulkCopy bulkInsert = new SqlBulkCopy(constr);
bulkInsert.DestinationTableName = "EmployeeDetails";
bulkInsert.WriteToServer(dr1);
bulkInsert.DestinationTableName = "EmpImport";
bulkInsert.WriteToServer(dr2);
// bulkInsert.WriteToServer(dr3);
OleDbcon.Close();
//Array.ForEach(Directory.GetFiles((Server.MapPath("~/Document/"))), File.Delete);
Label1.ForeColor = Color.Green;
Label1.Text = "successfully inserted";
}
else
{
Label1.ForeColor = Color.Red;
Label1.Text = "Please select the File";
}
}
catch (Exception ex)
{
}
}

void BindGrid()
{
DataSet ds = new DataSet();
conn.Open();
string cmdstr = "Select * from EmployeeDetails";
SqlCommand cmd = new SqlCommand(cmdstr, conn);
SqlDataAdapter adp = new SqlDataAdapter(cmd);

string cmdstr2 = "select * from EmpImport";
SqlCommand cmd2 = new SqlCommand(cmdstr2, conn);
SqlDataAdapter adp2 = new SqlDataAdapter(cmd);
adp.Fill(ds);

gvEmployee.DataSource = ds;
gvEmployee.DataBind();
ds.Dispose();
conn.Close();
}
protected void btnIpload_Click(object sender, EventArgs e)
{
ImporttoDatatable();
BindGrid();
}
}

推荐答案

,OleDbcon);

OleDbCommand cmd2 = new OleDbCommand(Select * from [Sheet2
", OleDbcon);
OleDbCommand cmd2 = new OleDbCommand("Select * from [Sheet2


,OleDbcon) ;

// OleDbCommand cmd3 =新的OleDbCommand(选择*来自[Sheet3
", OleDbcon);
// OleDbCommand cmd3 = new OleDbCommand("Select * from [Sheet3


,OleDbcon);



OleDbDataAdapter oad1 = new OleDbDataAdapter(cmd1);

OleDbDataAdapter oad2 = new OleDbDataAdapter(cmd2);

// OleDbDataAdapter oad3 = new OleDbDataAdapter(cmd3);





OleDbcon.Open();

//为数据工作表创建DbDataReader

DbDataReader dr1 = cmd1 .ExecuteReader();

DbDataReader dr2 = cmd2.ExecuteReader();

// DbDataReader dr3 = cmd3.ExecuteReader();

< br $>


// SQL Server连接字符串

string constr = @数据源=用户PC;初始目录=主数据;集成安全性=真;

//批量复制到SQL Server

SqlBulkCopy bulkInsert = new SqlBulkCopy(constr);

bulkInsert.DestinationTableName =EmployeeDetails;

bulkInsert.WriteToServer(dr1);

bulkInsert.DestinationTableName =EmpImport;

bulkInsert.WriteToServer(dr2);

// bulkInsert。 WriteToServer(dr3);

OleDbcon.Close();

//Array.ForEach(Directory.GetFiles((Server.MapPath(\"~//Document/)) ),File.Delete);

Label1.ForeColor = Color.Green;

Label1.Text =已成功插入;

}

else

{

Label1.ForeColor = Color.Red;

Label1.Text =请选择文件;

}

}

catch(例外情况)

{

}

}



void BindGrid()

{

DataSet ds = new DataSet();

conn.Open();

string cmdstr =从EmployeeDetails中选择*;

SqlCommand cmd = new SqlCommand(cmdstr,conn);

SqlDataAdapter adp = new SqlDataAdapter(cmd);



string cmdstr2 =select * from EmpImport;

SqlCommand cmd2 = new SqlCommand(cmdstr2,conn);

SqlDataAdapter adp2 = new SqlDataAdapter(cmd);

adp.Fill(ds) ;



gvEmployee.DataSource = ds;

gvEmployee.DataBind();

ds.Dispose() ;

conn.Close();

}

protected void btnIpload_Click(object sender,EventArgs e)

{

ImporttoDatatable();

BindGrid();

}

}
", OleDbcon);

OleDbDataAdapter oad1 = new OleDbDataAdapter(cmd1);
OleDbDataAdapter oad2 = new OleDbDataAdapter(cmd2);
// OleDbDataAdapter oad3 = new OleDbDataAdapter(cmd3);


OleDbcon.Open();
// Create DbDataReader to Data Worksheet
DbDataReader dr1 = cmd1.ExecuteReader();
DbDataReader dr2 = cmd2.ExecuteReader();
// DbDataReader dr3 = cmd3.ExecuteReader();


// SQL Server Connection String
string constr = @"Data Source=User-PC;Initial Catalog=master;Integrated Security=True";
// Bulk Copy to SQL Server
SqlBulkCopy bulkInsert = new SqlBulkCopy(constr);
bulkInsert.DestinationTableName = "EmployeeDetails";
bulkInsert.WriteToServer(dr1);
bulkInsert.DestinationTableName = "EmpImport";
bulkInsert.WriteToServer(dr2);
// bulkInsert.WriteToServer(dr3);
OleDbcon.Close();
//Array.ForEach(Directory.GetFiles((Server.MapPath("~/Document/"))), File.Delete);
Label1.ForeColor = Color.Green;
Label1.Text = "successfully inserted";
}
else
{
Label1.ForeColor = Color.Red;
Label1.Text = "Please select the File";
}
}
catch (Exception ex)
{
}
}

void BindGrid()
{
DataSet ds = new DataSet();
conn.Open();
string cmdstr = "Select * from EmployeeDetails";
SqlCommand cmd = new SqlCommand(cmdstr, conn);
SqlDataAdapter adp = new SqlDataAdapter(cmd);

string cmdstr2 = "select * from EmpImport";
SqlCommand cmd2 = new SqlCommand(cmdstr2, conn);
SqlDataAdapter adp2 = new SqlDataAdapter(cmd);
adp.Fill(ds);

gvEmployee.DataSource = ds;
gvEmployee.DataBind();
ds.Dispose();
conn.Close();
}
protected void btnIpload_Click(object sender, EventArgs e)
{
ImporttoDatatable();
BindGrid();
}
}


这篇关于使用c#和ASP.NET将两张数据从excel导入到两个sql server表中的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆