asp.net c# 将excel文件导入到sql中,如果sql中有重复数据,在页面上显示excel重复数据(求源码)

不是用sql的导入导出工具

public static DataTable dt = null;
protected void Page_Load(object sender, EventArgs e)
{

}
protected void Button1_Click(object sender, EventArgs e)
{
dt = ExcelToDataTable(@"c:\all.xls", "Sheet1");
//Response.Write(dt.Rows.Count.ToString()+"列"+dt.Columns.Count.ToString());
//Response.Write(dt.Rows[0][0].ToString());
labCount.Text = dt.Rows.Count.ToString();
labInfo.Text = dt.Rows[0][0].ToString() + "/"+dt.Rows[0][0].ToString();
}
/// <summary>
/// 从Excel读取数据
/// </summary>
/// <param name="filePath">路径</param>
/// <returns>DataSet</returns>
public DataTable ExcelToDataTable(string strExcelFileName, string strSheetName)
{
string strConn = "Provider=Microsoft.Jet.OLEDB.4.0;" + "Data Source=" + strExcelFileName + ";" + "Extended Properties=Excel 5.0;";
string strExcel = string.Format("select * from [{0}$]", strSheetName);
DataSet ds = new DataSet();
using (OleDbConnection conn = new OleDbConnection(strConn))
{
conn.Open();
OleDbDataAdapter adapter = new OleDbDataAdapter(strExcel, strConn);
adapter.Fill(ds, strSheetName);
conn.Close();
}
return ds.Tables[strSheetName];
}

protected void bntEap_Click(object sender, EventArgs e)
{
string sql = "";
string tile = "";
int type = 0;
string a = "";
string b = "";
string c = "";
string d = "";
string ee = "";
string f = "";
string rigth = "";
string typeGuid = "";
string kGuid = "0000";
string ok = "";
string uid = "";
string uType = "";
CompanyDataAccess.DataBase db = new CompanyDataAccess.DataBase();
for (int i = 0; i < dt.Rows.Count; i++)
{
//uid=dt.Rows[i][0].ToString();

//sql = string.Format("update t_Course set mc_hot=5 where c_title='{0}'", uid);
//uType = dt.Rows[i][2].ToString();

//sql = string.Format("update t_users set u_type={0} where u_id={1} and u_ca_guid='5510cc5a-2cd5-4468-88f4-071429d76ea6'",uType,uid);
//Response.Write(sql+"<br/>");

////公共分类
//tile = dt.Rows[i][0].ToString();
//a = dt.Rows[i][1].ToString();
//b = dt.Rows[i][2].ToString();
//c=dt.Rows[i][3].ToString();
//d=dt.Rows[i][4].ToString();
//ee=dt.Rows[i][5].ToString();
//f=dt.Rows[i][6].ToString();
//rigth=dt.Rows[i][7].ToString();
//sql = string.Format("insert into T_Video(v_orderName,v_order,v_size,v_kbyte,v_money,v_value,v_address,v_c_guid,v_state,v_ca_guid,v_name,v_count)values('{0}',{1},{2},10,4,4,'{3}','{4}',1,'0','{5}',0)",
// tile,a,c,f,rigth,b);
//Response.Write(sql+"<br/>");

//学员信息
//sql = "insert into T_Users(u_login,u_pwd,u_type,u_ca_guid,u_level,u_trueName,u_pname)values('" + dt.Rows[i][0].ToString() + "','202cb962ac59075b964b07152d234b70'," + dt.Rows[i][3].ToString() + ",'62c27560-94b6-4fdf-8ed1-bb684d551ae4',0,'" + dt.Rows[i][2].ToString() + "','" + dt.Rows[i][4].ToString() + "')<br/>";
//sql = "insert into T_Users(u_login,u_pwd,u_occupation,u_periods)values('" + dt.Rows[i][0].ToString() + "','" + Facade.CommonFacade.MD5(dt.Rows[i][1].ToString()) + "','1','1')";
//Response.Write(sql + "<br/>");
#region 综合题库
//string tile = "";
//int type = 0;
//string a = "";
//string b = "";
//string c = "";
//string d = "";
//string rigth = "";
//string typeGuid = "";
//string ok = "";
// CompanyDataAccess.DataBase db = new CompanyDataAccess.DataBase();
typeGuid = dt.Rows[i][1].ToString();
switch (typeGuid.Length)
{
case 1:
typeGuid = "5EB8D599-D585-4C8F-A308-C8C80EC2BFD" + typeGuid;
break;
case 2:
typeGuid = "5EB8D599-D585-4C8F-A308-C8C80EC2BF" + typeGuid;
break;
case 3:
typeGuid = "5EB8D599-D585-4C8F-A308-C8C80EC2B" + typeGuid;
break;
}
tile = dt.Rows[i][2].ToString();
a = dt.Rows[i][3].ToString().Trim();
b = dt.Rows[i][4].ToString().Trim();
c = dt.Rows[i][5].ToString().Trim();
d = dt.Rows[i][6].ToString().Trim();
ee = dt.Rows[i][7].ToString().Trim();
f = dt.Rows[i][8].ToString().Trim();

rigth = dt.Rows[i][9].ToString();
type = int.Parse(dt.Rows[i][10].ToString());

SqlParameter[] Params = new SqlParameter[10] {
new SqlParameter("@title",tile),
new SqlParameter("@type",type),
new SqlParameter("@a",a),
new SqlParameter("@b",b),
new SqlParameter("@c",c),
new SqlParameter("@d",d),
new SqlParameter("@e",ee),
new SqlParameter("@f",f),
new SqlParameter("@rigth",rigth),
new SqlParameter("@upGuid",typeGuid)
};
ok=db.RunProcGetString("stockExamBase",Params);
// create proc stockExamBase
//@title nvarchar(400),
//@type int,
//@a nvarchar(100),
//@b nvarchar(100),
//@c nvarchar(100),
//@d nvarchar(100),
//@rigth varchar(10),
//@upGuid varchar(40)
//as
// insert into t_stockExamBase(seb_title,seb_type,seb_A,seb_B,seb_C,seb_D,seb_right,seb_set_guid)
// values(@title,@type,@a,@b,@c,@d,@rigth,@upGuid)
//go
#endregion
//课程考试
//sql = "insert into t_publicExam(pe_GUID,pe_title,pe_c_guid,pe_values,pe_type,pe_state)values('"+dt.Rows[i][0].ToString()+"','"+dt.Rows[i][2].ToString()+"','"+dt.Rows[i][1].ToString()+"',10,0,1)</br>";
#region 课程考试试题

//typeGuid = dt.Rows[i][0].ToString();
//tile = dt.Rows[i][1].ToString();
//a = dt.Rows[i][2].ToString();
//b = dt.Rows[i][3].ToString();
//c = dt.Rows[i][4].ToString();
//d = dt.Rows[i][5].ToString();
//ee = dt.Rows[i][6].ToString();
//f = dt.Rows[i][7].ToString();
//rigth = dt.Rows[i][8].ToString();
//type = int.Parse(dt.Rows[i][9].ToString());
//SqlParameter[] Params = new SqlParameter[13] {
// new SqlParameter("@Peb_GUID",kGuid),
// new SqlParameter("@Peb_title",tile),
// new SqlParameter("@Peb_a",a),
// new SqlParameter("@Peb_b",b),
// new SqlParameter("@Peb_c",c),
// new SqlParameter("@Peb_d",d),
// new SqlParameter("@Peb_e",ee),
// new SqlParameter("@Peb_f",f),
// new SqlParameter("@Peb_rigth",rigth),
// new SqlParameter("@Peb_type",type),
// new SqlParameter("@Peb_pe_guid",typeGuid),
// new SqlParameter("@Peb_value",5),
// new SqlParameter("@type",1),
// };
//ok = db.RunProcGetString("hh_proc_PublicExamBase_add_update", Params);
//Response.Write(ok + "</br>");
#endregion
//解惑一卡通 问题
//sql = "insert into t_occupationQuestion(oq_guid,oq_title,oq_oc_id,oq_periods,oq_order)values('" + dt.Rows[i][0].ToString() + "','" + dt.Rows[i][1].ToString() + "',1,1," + i + ")";
//Response.Write(sql + "<br/>");
//一卡通视频
//sql = "insert into T_Video(v_orderName,v_order,v_name,v_size,v_count,v_address,v_oq_guid)values('" + dt.Rows[i][2].ToString() + "'," + dt.Rows[i][3].ToString() + ",'" + dt.Rows[i][1].ToString() + "'," + dt.Rows[i][4].ToString() + ",0,'" + dt.Rows[i][5].ToString() + "','" + dt.Rows[i][0].ToString() + "')";
//Response.Write(sql + "<br/>");

//#region 课程信息
//typeGuid = dt.Rows[i][0].ToString();
//tile = dt.Rows[i][1].ToString();
//a = dt.Rows[i][2].ToString();
//b = dt.Rows[i][3].ToString();
//c = dt.Rows[i][4].ToString();

//d = dt.Rows[i][5].ToString();
//ee = dt.Rows[i][6].ToString();
//f = dt.Rows[i][7].ToString();
////rigth = dt.Rows[i][8].ToString();
////type = int.Parse(dt.Rows[i][9].ToString());
//SqlParameter[] Params = new SqlParameter[9] {
// new SqlParameter("@Pc_guid",typeGuid),
// new SqlParameter("@Pc_title",tile),
// new SqlParameter("@Pc_name",a),
// new SqlParameter("@Pc_hot",int.Parse(b)),
// new SqlParameter("@Pc_img",c),
// new SqlParameter("@Pc_text",f),
// new SqlParameter("@Pc_pct_guid",ee),
// new SqlParameter("@Pc_level",int.Parse(d)),
// new SqlParameter("@type",1),
// };
//ok = db.RunProcGetString("hh_proc_PublicCourse_add_update", Params);
//Response.Write(ok + "</br>");
//#endregion

//try
//{

// #region 视频列表
// typeGuid = dt.Rows[i][0].ToString();
// tile = dt.Rows[i][1].ToString();
// a = dt.Rows[i][2].ToString();
// b = dt.Rows[i][3].ToString();
// c = dt.Rows[i][4].ToString();
// d = dt.Rows[i][5].ToString();
// ee = dt.Rows[i][6].ToString();
// //f = dt.Rows[i][7].ToString();
// //rigth = dt.Rows[i][8].ToString();
// //type = int.Parse(dt.Rows[i][9].ToString());
// SqlParameter[] Params1 = new SqlParameter[11] {
// new SqlParameter("@pv_guid","1111"),
// new SqlParameter("@pv_orderName",typeGuid),
// new SqlParameter("@Pv_order",int.Parse(tile)),
// new SqlParameter("@Pv_name",a),
// new SqlParameter("@Pv_size",float.Parse(b)),
// new SqlParameter("@Pv_money",4.0),
// new SqlParameter("@Pv_value",2.0),
// new SqlParameter("@Pv_url",c),
// new SqlParameter("@Pv_address",d),
// new SqlParameter("@Pv_c_guid",ee),
// new SqlParameter("@type",1)
// };
// ok = db.RunProcGetString("hh_proc_PublicVideo_add_update", Params1);
// Response.Write(ok + "</br>");
//}
//catch(Exception ex)
//{

//}
//#endregion

//综合考试分类 5EB8D599-D585-4C8F-A308-C8C80EC2BFDF
#region
//switch (dt.Rows[i][0].ToString().Length)
//{
// case 1:
// kGuid = "5EB8D599-D585-4C8F-A308-C8C80EC2BFD" + dt.Rows[i][0].ToString();
// break;
// case 2:
// kGuid = "5EB8D599-D585-4C8F-A308-C8C80EC2BF" + dt.Rows[i][0].ToString();
// break;
// case 3:
// kGuid = "5EB8D599-D585-4C8F-A308-C8C80EC2B" + dt.Rows[i][0].ToString();
// break;
//}

//switch (dt.Rows[i][2].ToString().Length)
//{
// case 1:
// rigth = "5EB8D599-D585-4C8F-A308-C8C80EC2BFD" + dt.Rows[i][2].ToString();
// break;
// case 2:
// rigth = "5EB8D599-D585-4C8F-A308-C8C80EC2BF" + dt.Rows[i][2].ToString();
// break;
// case 3:
// rigth = "5EB8D599-D585-4C8F-A308-C8C80EC2B" + dt.Rows[i][2].ToString();
// break;
//}

//sql = "insert into t_stockExamType(set_guid,set_name,set_upGuid,set_type)values('" + kGuid + "','" + dt.Rows[i][1].ToString() + "','" + rigth + "'," + dt.Rows[i][3].ToString() + ")<br/>";
#endregion

// Response.Write(sql);
}
}
温馨提示:内容为网友见解,仅供参考
无其他回答

C#实现 将Excel数据表导入SQL数据库中 然后如果某字段内容重复则不插...
你可以先导入,并在数据库中创建一个行号列,记录每一行的行号。导入后,再对数据进行处理,设要判断重新的字段为Col1,设行号列为ID1, 设表名为TBL,那么代码如下:DECLARE @T TABLE( Col1 VARCHAR(1000 ) )DECLARE @C1 VARCHAR(1000)INSERT @T( Col1 )SELECT Col1 FROM TBL GROUP BY Col1...

C#读取excel 如何显示相同的数据
sql的话可以建立别名 select tb1.A,tb1.B,tb1.C from TB tb1, TB tb2 where tb1.A = tb2.A and tb1.B <> tb2.B 这样的话,单列就不会被查出来 dataset也可以用这个思路 统计个数 引用 using System.Collections;DataSet ds = new DataSet();List<string> list = new List<string>...

C#从excel中导入数据到数据库怎么避免重复
1、可以用C#操纵Excel先过滤重复数据 2、如果能确定唯一键(物理唯一或者逻辑唯一都行),往数据库导入数据时使用InsertOrReplace方案

c#如何将excel文件数据导入sql数据库?有没有完整的代码?谢谢。。。
1、打开企业管理器,打开要导入数据的数据库,在表上按右键,所有任务-->导入数据,弹出DTS导入\/导出向导,按 下一步 ,2、选择数据源 Microsoft Excel 97-2000,文件名 选择要导入的xls文件,按 下一步 ,3、选择目的 用于SQL Server 的Microsoft OLE DB提供程序,服务器选择本地(如果是本地数据...

用ASP.NET如何实现EXCEL中的用户积分导入SQL数据库
思路,先把EXcel传到服务器,导入本地的可以进行。先改变数据源的连接改为上传的excel,通过Dataset把EXcel里的数据读出来,分别用asp.net操作Sql语句把数据写入数据库中。下面是一个"上传文件"按钮事件代码 protected void btnOk_Click(object sender, EventArgs e){ string fileName= ex.PostedFile.File...

C#中如何将Excel中的数据批量导入到sql server?
1.本文实现在c#中可高效的将excel数据导入到sqlserver数据库中,很多人通过循环来拼接sql,这样做不但容易出错而且效率低下,最好的办法是使用bcp,也就是System.Data.SqlClient.SqlBulkCopy 类来实现。不但速度快,而且代码简单,下面测试代码导入一个6万多条数据的sheet,包括读取(全部读取比较慢)在我...

C#中将Excel表导入到数据库中。现在想要一个写好的类,我在按钮的单击事...
1: MSSQL 2005之后就支持EXCEL同步导入, 通过SQL Server ManagementStudio的导入即可实现,即MSSQL自带你要的这个 “点击文件,建表,传数据“的功能,但是MSDN了一下,好像并没有开放出来接口供C#编程使用, 所以这个方法只适合那些可以操作SQL SERVER的情况。2:写一个类,来完成你要的功能,但是约束...

如何解决C#中用datagrid导出excel时,数据内容总是重复出现两次?_百度...
代码上取数只有一次,循环按代码逻辑来看,也只能把表中的数全部写道Excel中,而你的Excel中确有2次数,判断为,肯定有地方默认刷新上次操作了,你点击按钮这个操作完成后,触发了刷新功能,断点调试下就看出来了

上传excel文件并将数据导入到sql server数据库
可以用ASP实现,思路:ASP上传Excel文件并导入数据到SQL数据库,程序一共分二步操作,第一步是上传文件,上传成功后再点击“导入数据”,Excel数据将被导入到SQL的表中,操作时要注意放置程序的目录必须有足够权限,否则程序报错。

C#怎么在网页中显示Excel
从数据库中取出数据放到Excel表格里面,再嵌入到网页中,状态栏,就行了!

相似回答