`
useruu
  • 浏览: 5758 次
  • 性别: Icon_minigender_1
  • 来自: 赤峰
最近访客 更多访客>>
社区版块
存档分类
最新评论

C#中excel导入sql

    博客分类:
  • c#
 
阅读更多
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;
            //}
        }
分享到:
评论

相关推荐

    C#将Excel导入Sql Server

    一个C#类 将EXCEL批量导入sql

    关于C# winform从EXCEL导入到SQL库

    #### 示例:从Excel导入数据到SQL Server ```csharp public static void ReadXlsToSql(string excelColumn) { try { string filePath = ""; string tableName = ""; filePath = SetOpenFileAtt(); tableName =...

    C#从excel导入数据到sql server

    本项目标题为“C#从excel导入数据到sql server”,它提供了一个使用C#编程语言解决此类问题的解决方案。下面我们将深入探讨这个话题,了解如何通过C#实现Excel数据到SQL Server的导入。 1. C#编程语言:C#是一种...

    c# EXCEL 数据导入SQL Server数据库(自动创建表)

    最近在做个小东西的时候用到的,网上有很多但大多是文档,所以自己照着改了改,开发环境:vs2013 excel版本:office excel 2013,可能写的比较糙,有什么有问题的地方希望能够指出来,共同进步。

    客户端将Excel导入SQL Server C#源码下载

    在IT行业中,将Excel数据导入SQL Server是一项常见的任务,尤其在数据分析、报表生成以及数据库管理等领域。本资源提供了一个C#编程实现的解决方案,允许用户在客户端直接将Excel文件的数据导入库中。以下是对这个C#...

    C#实现Excel导入sqlite的方法

    总的来说,C#中实现Excel导入SQLite的过程涉及文件I/O、数据库操作、异常处理和UI交互等多个方面,这些知识点对于C#开发者来说都是基础且重要的技能。通过以上介绍,你应该能够理解如何在自己的项目中实现类似的功能...

    C# excel 数据导入到sqlserver

    在本教程中,我们将探讨如何使用C#编程语言将Excel数据导入到SQL Server数据库中,这是一项常见的数据整合操作,尤其在数据分析、报表生成和系统集成等场景下非常实用。 首先,你需要了解的是C#的基础知识,它是一...

    Excel导入SQLserver源码_excel2sql.zip

    因此,有了"Excel导入SQLserver源码_excel2sql.zip"这样的工具或代码,可以极大地提高工作效率。 这个压缩包文件"Excel导入SQLserver源码_excel2sql.zip"很可能包含了一个程序或脚本,用于自动化从Excel文件批量...

    Excel导入SQLserver源码

    Excel导入SQLserver源码 Excel是一种非常灵活的电子表格软件,用它可以存储各种数据,本节将对如何将Excel导入SQL Server2000数据库进行详细介绍。 开发环境:NET2.0 开发工具:vs2005 开发语言:c# 数据库:server...

    C# 从Excel导入数据到DataGridView、SqlServer

    C# 从Excel导入数据到DataGridView、SqlServer,C# 从Excel导入数据到DataGridView、SqlServerC# 从Excel导入数据到DataGridView、SqlServerC# 从Excel导入数据到DataGridView、SqlServerC# 从Excel导入数据到...

    excel导入sql server数据库源码

    在IT行业中,数据管理和操作是至关重要的任务,尤其是在企业级应用中。...以上就是关于“Excel导入SQL Server数据库源码”的主要知识点,涵盖了数据迁移的多种方式以及编程实现的细节,希望能对你的工作提供帮助。

    C# Excel导入数据库

    ### C# 中 Excel 导入数据库的技术实现 在软件开发领域,特别是在企业级应用中,经常需要处理大量的数据,而 Excel 文件作为一种常见的数据存储格式,其数据导入到数据库中的需求非常普遍。本篇文章将深入探讨如何...

    C#实现excel文档中数据导入(mysql、sql)

    在C#编程环境中,我们可以利用各种库来处理Excel文件,并将其数据导入到数据库系统,如MySQL或SQL Server。本文将详细讲解如何实现这个过程,主要包括以下几个步骤和涉及的知识点: 1. **安装必要的库**: - 对于...

    C#+EXCEL导入数据库SQLserver 2005+

    标题中的"C#+EXCEL导入数据库SQLserver 2005+"是一个关于使用C#编程语言与Excel文件交互,并将数据导入到SQL Server 2005数据库的实践项目。这个项目可能适合那些初学者,他们希望通过这个实例学习如何在.NET环境中...

    C#将Excel数据导入到SQL server数据库

    综上所述,C#将Excel数据导入SQL Server数据库涉及到文件读取、数据转换和数据库操作等技能。通过选择合适的库和优化操作,可以高效地完成这一任务。在实际开发中,还需要考虑到错误处理、性能优化以及数据一致性等...

    C#实现Excel导入数据到SQL Server数据库

    本教程将聚焦于使用C#编程语言实现从Excel文件批量导入数据到SQL Server数据库的过程,利用`SqlBulkCopy`类来高效地完成这一任务。 首先,`SqlBulkCopy`是.NET Framework中的一个强大工具,它提供了将大量数据一次...

    C# 本地Excel导入服务器SQL 源码下载

    【标题】"C# 本地Excel导入服务器SQL 源码下载"涉及到的关键技术主要集中在C#编程语言、Excel文件处理以及SQL Server数据库的交互。这个项目的核心目标是实现一个功能,让用户能够在本地通过C#编写的应用程序读取...

    c#中高效的excel导入oracle的方法

    在C#中高效地将Excel数据导入Oracle数据库通常涉及到几个关键步骤,包括使用COM组件读取Excel、转换数据格式、创建表结构以及利用Oracle的SQL*Loader工具。以下是对这个方法的详细说明: 首先,我们需要引入必要的...

    Excel导入SQLServer数据库工具(含源码)

    使用Asp.Net开发,用于导入Excel文件到SQLServer,支持配置导入字段。支持主键为Int的外键。 两种方式:1、先导入Excel再配置对应关系 2、先配置对应关系在导入

    C# 远程将Excel导入SQL附加源码(增强版)

    标题 "C# 远程将Excel导入SQL附加源码(增强版)" 描述了一个使用C#编程语言编写的软件解决方案,其主要功能是允许用户远程地将Excel数据导入到SQL数据库中。这个增强版的特性在于它包含了服务器设置的保存和导入导出...

Global site tag (gtag.js) - Google Analytics