C#中excel导入sql

1、引入命名空间;
using Microsoft.Office.Interop.Excel;

2、操作函数;
public int ledinExcel(string file, object sender, EventArgs e)
{
//try
//{
System.Data.DataTable dt = xsldata(file);
int errorcount = 0;
int insertcount = 0;
//int updatecount = 0;

//string strcon = "server=ROCKEN;database=checkatt;uid=sa;pwd=000123";
//SqlConnection conn = new SqlConnection(strcon);
//conn.Open();
for (int i = 0; i < dt.Rows.Count; i++)
{
StringBuilder strSql = new StringBuilder();
strSql.Append("insert into checkatt.DBO.att_table (Person_num,Per_name,Work_att,Up1,Off2,Up3,Off4,Up5,Off6)");
strSql.Append(" VALUES (@Person_num,@Per_name,@Work_att,@Up1,@Off2,@Up3,@Off4,@Up5,@Off6)");
SqlParameter[] praexcel = {
new SqlParameter("@Person_num", SqlDbType.Int),
new SqlParameter("@Per_name", SqlDbType.NVarChar,50),
new SqlParameter("@Work_att", SqlDbType.Date),
new SqlParameter("@Work_lable", SqlDbType.NVarChar,50),
new SqlParameter("@Up1", SqlDbType.Time),
new SqlParameter("@Off2", SqlDbType.Time),
new SqlParameter("@Up3", SqlDbType.Time),
new SqlParameter("@Off4", SqlDbType.Time),
new SqlParameter("@Up5", SqlDbType.Time),
new SqlParameter("@Off6", SqlDbType.Time)};
praexcel[3].Precision = 0;
praexcel[4].Precision = 0;
praexcel[5].Precision = 0;
praexcel[6].Precision = 0;
praexcel[7].Precision = 0;
praexcel[8].Precision = 0;

praexcel[0].Value = dt.Rows[i][0];
praexcel[1].Value = dt.Rows[i][1].ToString();
praexcel[2].Value = Convert.ToDateTime(dt.Rows[i][2].ToString());
praexcel[3].Value = dt.Rows[i][3];
if (dt.Rows[i][4].ToString().Length == 0)
{
praexcel[4].Value = DBNull.Value;
}
else if (dt.Rows[i][4].ToString().Length > 5)
{
if (string.IsNullOrEmpty(dt.Rows[i][4].ToString().Trim()))
{
praexcel[4].Value = DBNull.Value;
}
else
{
praexcel[4].Value = dt.Rows[i][4].ToString().Trim();
}

}
else
{
praexcel[4].Value = dt.Rows[i][4];
}
//
if (dt.Rows[i][5].ToString().Length == 0)
{
praexcel[5].Value = DBNull.Value;
}
else if (dt.Rows[i][5].ToString().Length > 5)
{
if (string.IsNullOrEmpty(dt.Rows[i][5].ToString().Trim()))
{
praexcel[5].Value = DBNull.Value;
}
else
{
praexcel[5].Value = dt.Rows[i][5].ToString().Trim();
}
}
else
{
praexcel[5].Value = dt.Rows[i][5];
}
//
if (dt.Rows[i][6].ToString().Length == 0)
{
praexcel[6].Value = DBNull.Value;
}
else if (dt.Rows[i][6].ToString().Length > 5)
{
if (string.IsNullOrEmpty(dt.Rows[i][6].ToString().Trim()))
{
praexcel[6].Value = DBNull.Value;
}
else
{
praexcel[6].Value = dt.Rows[i][6].ToString().Trim();
}
}
else
{
praexcel[6].Value = dt.Rows[i][6];
}
//
if (dt.Rows[i][7].ToString().Length == 0)
{
praexcel[7].Value = DBNull.Value;
}
else if (dt.Rows[i][7].ToString().Length > 5)
{
if (string.IsNullOrEmpty(dt.Rows[i][7].ToString().Trim()))
{
praexcel[7].Value = DBNull.Value;
}
else
{
praexcel[7].Value = dt.Rows[i][7].ToString().Trim();
}
}
else
{
praexcel[7].Value = dt.Rows[i][7];
}
//
if (dt.Rows[i][8].ToString().Length == 0)
{
praexcel[8].Value = DBNull.Value;
}
else if (dt.Rows[i][8].ToString().Length > 5)
{
if (string.IsNullOrEmpty(dt.Rows[i][8].ToString().Trim()))
{
praexcel[8].Value = DBNull.Value;
}
else
{
praexcel[8].Value = dt.Rows[i][8].ToString().Trim();
}
}
else
{
praexcel[8].Value = dt.Rows[i][8];
}
//
if (dt.Rows[i][9].ToString().Length == 0)
{
praexcel[9].Value = DBNull.Value;
}
else if (dt.Rows[i][9].ToString().Length > 5)
{
if (string.IsNullOrEmpty(dt.Rows[i][9].ToString().Trim()))
{
praexcel[9].Value = DBNull.Value;
}
else
{
praexcel[9].Value = dt.Rows[i][9].ToString().Trim();
}
}
else
{
praexcel[9].Value = dt.Rows[i][9];
}
//if (dt.Rows[i][5].ToString().Length == 0) { praexcel[5].Value = DBNull.Value; } else { praexcel[5].Value = dt.Rows[i][5]; }
//if (dt.Rows[i][6].ToString().Length == 0) { praexcel[6].Value = DBNull.Value; } else { praexcel[6].Value = dt.Rows[i][6]; }
//if (dt.Rows[i][7].ToString().Length == 0) { praexcel[7].Value = DBNull.Value; } else { praexcel[7].Value = dt.Rows[i][7]; }
//if (dt.Rows[i][8].ToString().Length == 0) { praexcel[8].Value = DBNull.Value; } else { praexcel[8].Value = dt.Rows[i][8]; }
//if (dt.Rows[i][9].ToString().Length == 0) { praexcel[9].Value = DBNull.Value; } else { praexcel[9].Value = dt.Rows[i][9]; }
//praexcel[4].Value = dt.Rows[i][4];dt.Rows[i][9].ToString().Trim()
//praexcel[5].Value = dt.Rows[i][5];
//praexcel[6].Value = dt.Rows[i][6];
//praexcel[7].Value = dt.Rows[i][7];
//praexcel[8].Value = dt.Rows[i][8];
//praexcel[9].Value = dt.Rows[i][9];
//MessageBox.Show(dt.Rows[i][1].ToString() + dt.Rows[i][2].ToString());
try
{
if (SqlHelper.ExecuteNonQuery(CommandType.Text, strSql.ToString(), praexcel) > 0)
{


insertcount++;

}
else
{
errorcount++;
}
}
catch (Exception ex)
{
MessageBox.Show("导入成功:" + insertcount.ToString() + "条数据; 共" + dt.Rows.Count.ToString() + "条记录");
return insertcount;
}
}
MessageBox.Show("导入成功:"+insertcount.ToString()+"条数据; 失败"+errorcount.ToString());
return insertcount;
//}
//catch (Exception ex)
//{
//Console.Write(ex.Message);
// return insertcount;
//}
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值