zoukankan      html  css  js  c++  java
  • C#中excel导入sql

    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;
                //}
            }
  • 相关阅读:
    linux之sed用法
    vim 设置tab空格个数
    centos 7远程登陆win10
    linux find命令学习
    CENTOS 7 修改默认启动内核
    Centos7更改默认启动模式
    centos 7创建桌面快捷方式
    修改centos中文为英文显示
    正则的sub
    超时或错误重试
  • 原文地址:https://www.cnblogs.com/xdot/p/4569924.html
Copyright © 2011-2022 走看看