EXCEL数据导入dataset

一、开工必备

    1、micorosoft office2007

    2、VS2010、Oracle 11

二、界面

三、内部代码

   (1)获取数据库连接,定义全局变量           

         private static string connString = System.Configuration.ConfigurationSettings.AppSettings[ "connStr" ];
         DataSet dTable;

   (2)选择Excel文件导入dataset  

          if(openFileDialog1.ShowDialog()==DialogResult.OK)
             {
                 ctlPath.Text = openFileDialog1.FileName;
                 ExceltoDataSet(ctlPath.Text);
             }   

   (3)加载Excel文件数据

             public DataSet ExceltoDataSet(string path)
         {
             MessageBox.Show( "正在获取数据....请稍候" );
             //
             string strConn = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source="+path+";Extended Properties='Excel 12.0;HRD=Yes;IMEX=1';" ;
             OleDbConnection conn = new OleDbConnection(strConn);
             conn.Open();
            System.Data.DataTable schemaTable = conn.GetOleDbSchemaTable(System.Data.OleDb.OleDbSchemaGuid.Tables,null);
            
            string tableName = schemaTable.Rows[0][2].ToString().Trim();
            
             string strExcel =  " " ;
             OleDbDataAdapter myCommand = null;
             DataSet ds = null;
             strExcel = "Select * from [" + tableName + "]";
             myCommand = new OleDbDataAdapter(strExcel,strConn);
             ds = new DataSet();
             try
             {
                 myCommand.Fill(ds, tableName);
             }
             catch(Exception ex)
             {
                 MessageBox.Show(ex.Message);
             }
                 dTable = ds;
           
             if (ds != null)
             {
                 button2.Visible = true;
               
         
             }
             return ds;
     
        
         }

   (4)显示导入数据 

          DataTable dt = dTable.Tables[0];        

      try {

                 for (int i = 0; i > 0; i++)  

                {  

                   dt.Rows.Remove(dt.Rows[i]);  

                }

                 dataGridView1.DataSource = dt;      

        } catch (Exception ex)  

            {  

                 throw ex;    

          }

   (5)将数据导入数据库

  1.           DataTable dt = dTable.Tables[0];
  2.             
  3.              for (int i = 1; i < dt.Rows.Count; i++)
  4.              {
  5.                
  6.                  string sql1 = string.Format( "insert  /*+nologging*/ into TPB_CARCONFIG(LINERNUM,RESID,CARTYPEID,RESFNAME,RESURL,BRAND" +
  7.                    " values('" + dTable.Tables[0].Rows[i][0] + "','101','" + dTable.Tables[0].Rows[i][0] + "','汽车之家','www.autohome.com.cn/', " +
  8.                      " '" +dTable.Tables[0].Rows[i][181]+ "','" +dTable.Tables[0].Rows[i][182]+ "','" +dTable.Tables[0].Rows[i][183]+ "','" +dTable.Tables[0].Rows[i][1]+ "')" );
  9.                     OracleConnection oconn = new OracleConnection(connString);   
  10.                           oconn.Open();   
  11.                 OracleCommand cmd;  
  12.                 try {
  13.                      cmd = new OracleCommand(sql1.ToString(), oconn);
  14.                       int a = Convert.ToInt32(cmd.ExecuteNonQuery());
  15.                      if (a > 0)   {

 

  1.                      }     
  2.                        } catch (Exception ex)  {     
  3.   注:这里收集重复信息的编号,保存到txt文本
  4.                  string path =  "c:错误信息.txt" ;         
  5.              FileStream fs = new FileStream(path,FileMode.Append);          
  6.             StreamWriter sw = new StreamWriter(fs);                              
  7.          sw.WriteLine( "Excel编号"  + dTable.Tables[0].Rows[i][0]+ "数据已与数据表中重复" );       
  8.                sw.Close();             
  9.          fs.Close();                  
  10.     fs.Dispose();                
  11.       continue;             
  12.      }           
  13.                    oconn.Close();      
  14.         }

    注:该程序我没有使用线程,所以在导入大量数据的时候,winform窗体假死,但是程序依然在奋斗,请耐心等待复活。

四、效果图
      1、导入前

    2、导入后→点击显示数据

五、源码下载http://pan.baidu.com/s/1sj4U2i5

 

 

 

 

   

转载于:https://www.cnblogs.com/QQ248604315/p/4000071.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/460069.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

JDBC连接MySQL数据库及演示样例

JDBC是Sun公司制定的一个能够用Java语言连接数据库的技术。 一、JDBC基础知识 JDBC&#xff08;Java Data Base Connectivity,java数据库连接&#xff09;是一种用于执行SQL语句的Java API&#xff0c;能够为多种关系数据库提供统一訪问&#xff0c;它由一组用Java语言…

Single Image Haze Removal(图像去雾)-CVPR’09 Best Paper

公式推导 paper闪光点 找到了一个很简洁的假设。 paper不足 代码跑起来很慢。据说2010年的ECCV那篇是改进的。

EasyUI学习总结(二)——easyloader分析与使用

使用脚本库总要加载一大堆的样式表和脚本文件&#xff0c;在easyui 中&#xff0c;除了可以使用通常的方式加载之外&#xff0c;还提供了使用 easyloader 加载的方式。这个组件主要是为了按需加载组件而诞生。什么情况下使用它呢&#xff1f; 你觉得一次性导入 easyui 的核心 m…

c语言switch scanf语句,C语言中scanf函数与switch语句

----------------switch----------------1)使用格式switch(表达式){case 常量表达式1: 语句1;case 常量表达式2: 语句2; ...case 常量表达式n: 语句n;default: 语句n1;}判断月份代码实现int main(int argc, const char * argv[]) {//定义变量int month;//提示用户输入一个月份p…

JadClipse eclipse反编译插件

A.下载JadClipse&#xff0c;http://jadclipse.sourceforge.net/wiki/index.php/Main_Page#Download&#xff0c;注意选择与eclipse版本一致的版本&#xff0c;我用的是Eclipse3.4&#xff0c;所以选择下载版本net.sf.jadclipse_3.3.0.jar B.下载Jad&#xff0c;http://www.…

Sublime 资源汇总

2019独角兽企业重金招聘Python工程师标准>>> 《sublime text2使用经验》&#xff1a;里面插件的推介和使用、截图。《Sublime Text 2 入门及技巧》&#xff1a;技巧&#xff0c;可惜是4年前的东西了。《Sublime Text 2安装插件方法详解》&#xff1a;介绍了使用 GoA…

c汇编语言程序框架培训,[010][x86汇编语言]学习用户程序的编写(c08.asm)

源程序来源加载程序c08_mbr.asm用户源程序&#xff1a;增加注释;;文件名&#xff1a;c08-2.asm;文件说明&#xff1a;用户程序;创建日期&#xff1a;13:08 2018/5/23;----------------------------------------------------------------------SECTION header vstart0 ;定义用户…

文件共享服务器搭建

详细需求描述1、网络拓扑图如下&#xff1a;2、利用虚拟机实现网络拓扑&#xff0c;要求如下&#xff08;1&#xff09;虚拟机环境使用hostonly&#xff08;2&#xff09;服务器要求&#xff1a;安装Widnwos Server 2008 R2操作系统内存要求&#xff1a;750MB安装五块物理SCSI磁…

当c语言老师遇到网络崩溃,网络教学搞不定?工科教授来支招!

新学期已经到来但是由于新冠病毒肆虐我们不得不在“线上会面”网络远程教学颠覆了传统课堂模式的同时&#xff0c;也为教员们的教学工作带来极大的挑战。想想看&#xff0c;面对一个计算机屏幕滔滔不绝地讲上90分钟&#xff0c;确实需要大量的准备工作。网课平台怎么选&#xf…

在JS函数中执行C#中的函数、字段

1、调用字段 cs文件的代码&#xff1a; public int id 0;protected void Page_Load(object sender, EventArgs e){id 2;} View Codejs页面的代码&#xff1a; function CheckFunc() {alert("<% id%>");} View Code2、调用函数&#xff1a; 在JS函数中访问或执…

计算本年 本月 本周的起始日期

html: <table><tr><td align"right" width"120px"> 销售时间区间:</td><td><select id"ddlChoiceDate" name"ddlChoiceDate" runat"server" onchange"SelectChange(this.value);&quo…

Android查看真机布局,android-外部存储

外部存储&#xff0c;个人理解是在app作用域之外存储&#xff0c;就是数据没有和app做关联&#xff0c;app卸载后&#xff0c;它依旧存在而不再是之前手机本身存储空间和sd卡的区别&#xff0c;现在安卓手机已经不携带可拆卸的SD卡androidManifest.xml 需要写入读写权限简单布局…

android国籍组件,android组件化之路

问题&#xff1a;实际业务变化快&#xff0c;而工程内各个功能模块耦合度太高&#xff0c;不能对功能模块进行快速方便地拆分或组装。团队共同开发中&#xff0c;可能一个文件同时被多人修改&#xff0c;导致每次更新提交代码都需要消耗大量时间去merge代码。每次修改&#xff…

UNIX环境编程学习笔记(21)——进程管理之获取进程终止状态的 wait 和 waitpid 函数...

lienhua342014-10-12 当一个进程正常或者异常终止时,内核就向其父进程发送 SIGCHLD信号。父进程可以选择忽略该信号,或者提供一个该信号发生时即被调用的函数(信号处理程序)。对于这种信号的系统默认动作是忽略它。 在文档“进程控制三部曲”中,我们讲的第三部曲是使用 wait 函…

android代码导入有错误,android新项目导入后进行编译出现cmake错误

问题描述使用as加载并且gradle sync 提示&#xff1a;SIMPLE:error configure同时使用make project提示问题出现的环境背景及自己尝试过哪些方法已经尝试更换过ndk 调整target brinary 然后完全clean project等操作相关代码// 请把代码文本粘贴到下方(请勿用图片代替代码)使用g…

BZOJ1652 [Usaco2006 Feb]Treats for the Cows

蒟蒻许久没做题了&#xff0c;然后连动规方程都写不出了。 参照iwtwiioi大神&#xff0c;这样表示区间貌似更方便。 令f[i, j]表示i到j还没卖出去&#xff0c;则 f[i, j] max(f[i 1, j] v[i] * T, f[i, j - 1] v[j] * T) &#xff08;←这样用推的方式更好想一点。。&#…

git+jekyll部署备忘

github&#xff0c;会自动帮忙编译jekyll编写的文件&#xff0c;只要将文件放到gh-pages分支 (或者使用官方教程的二级域名方式&#xff0c;项目名字&#xff0c;可以随便起&#xff0c;官网的例子是 用户名.github.com 作为项目名字&#xff0c;可以使用 用户名.github.com …

搜索 由浅入深 之一 水题

搜索很重要&#xff0c;是很难学的算法&#xff0c;能看懂很简单&#xff0c;但是要想真正做出题来就比较困难了&#xff0c;那么&#xff0c;我们现在就水题开始研究搜索。 水题之&#xff1a; 1024: [SCOI2009]生日快乐 Time Limit: 1 Sec Memory Limit: 162 MBSubmit: 830 …

android studio创建文件,如何在Android Studio中创建File Templates

标签&#xff1a; File Template Android Studio我发现一个可以让写程序变得简单的方法&#xff0c;那就是自定义文件模板(Custom File Templates).那么什么是File Templates呢&#xff1f;说白了&#xff0c;就是一个已经包含一部分代码的源文件如何创建File Templates首先&am…

odoo 中多币种处理(外币处理)

2019独角兽企业重金招聘Python工程师标准>>> 1. odoo多币种处理 http://www.cnblogs.com/godzone/archive/2012/11/05/2754436.html 2. OpenERP的价格表&#xff08;Pricelist&#xff09;机制: http://www.chinamaker.net/html/2011/study_1123/78.html 3. odoo …