C#中excel导入sql
2015-06-11 19:06
288 查看
using Microsoft.Office.Interop.Excel; 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; //} }
相关文章推荐
- mysql 表如果 key相同则累加,不相同则插入
- oracle学习之路(四) ---------PL/SQL 表,二维数组(TABLE)
- SqlBulkCopy使用心得 (大量数据导入)
- mysql 5.6 主从复制配制
- truncate和delete之间的区别
- SQL Server索引 - 索引(物化)视图
- MySQL二进制安装常见问题处理
- SSDB 数据库
- mysql大内存高性能优化方案
- MongoDB 3.0新增特性一览
- MSSQL - sql server 2008安装时服务器配置,SQL server服务指定的凭证无效
- mysql中出现的Data truncated for column
- mysql数据库备份及恢复命令mysqldump,source的用法
- redis jedis(java)
- mongodb 基本语句
- sql语句将行列进行转换
- 如何查看mysql的隔离级别
- 【SQL】DBCC
- ORCLE 性能调优概述
- Redis介绍以及安装(Linux)