excel导入数据库的一点小问题

原创 2015年07月08日 10:29:13

做了一个将EXCEL表格内容导入数据库的功能,但是在运行时出了点问题。

在导入第一张表时成功了,然后将第二张表再导入,报出“由于将在索引、主关键字、或关系中创建重复的值,请求对表的改变没有成功”的错误,而且数据库的表中多了一行内容全是空的数据。但是第二张表和第一张表中没有重复内容,所以错误其实是,导入时将EXCEL中的空行当做数据多次导入时报错了。

可是为什么,会将空行当做数据呢?

 string strConn = "Provider=Microsoft.ACE.OLEDB.12.0;" + 
                "Data Source=" + fileName + ";" +                 
                "Extended Properties='Excel 12.0 Xml;HDR=Yes;IMEX=1;'";    //各版本号很重要
 OleDbDataAdapter da = new OleDbDataAdapter("SELECT * FROM [sheet1$]", strConn);
 DataTable dt = new DataTable();  
 da.Fill(dt);
我是将EXCEL中表格存入DataTable,再将DataTable打入数据库。

可是第一张表导入时,并没有将空行也导进去,所以问题是在第二张表。

原来问题在于,我的第二张表是第一张表复制过去,然后删改了其中的数据得到的,所以看上去为空行的内容,程序也认为它是有数据的存入了DataTable中。

我重新建了张EXCEL,一行行添加,再导入时就没有了空行的问题。然后我又多添加了几行数据再删除,又出现了空行数据。所以问题就是你所看到的空行并没有数据,但是程序认为是有数据的。

所以为了避免这种问题,只要判断下数据是否为空就好,为空则不进行添加。

一点小问题

举个例子:+ (instancetype)appearanceWhenContainedIn:(nullable Class )ContainerClass, ... NS_REQUIRES_NIL_...
  • qq_31683103
  • qq_31683103
  • 2016年05月17日 10:49
  • 183

工作中的一个小问题

今天同事看了一句我以前写的代码,用了三元运算符  PropertyScript.instance .isLifeFreeze = PropertyScript.instance .isLifeFree...
  • u010386327
  • u010386327
  • 2013年07月25日 18:06
  • 562

Chrome的一点小问题

昨天将系统重装了。然后又开始要重新安装一堆得软件。包括Chrome。装好之后,在用的时候发现了下面一个现象:  大家注意看chrome上面的那两个小窗口。本来是在任务栏的下面,为了方便大家看,我把它拉...
  • zzc125
  • zzc125
  • 2010年08月09日 10:19
  • 360

Netbeans5的一点小问题

昨天调代码的时候正好调到一个类,改了里面的一个public final static int 类型的值,点增量编译,结果没什么变化。当时因为某些原因没办法设断点,弄控制台输出才能看出结果来,绕了个圈,...
  • zdsdiablo
  • zdsdiablo
  • 2006年04月29日 13:18
  • 1478

网站发布的一点小问题

先说一下网布发布的流程:先去sql server 里加载数据库。然后去IIS里设置虚拟路径。然后浏览,如果出现错误:未能加载文件或程序集“Ajax”或它的某一个依赖项。系统找不到指定的文件。则是bin...
  • my_step_by_step
  • my_step_by_step
  • 2012年07月16日 16:42
  • 158

OpenKeeper的一点小问题

Openkeeper and CentOS
  • u012562931
  • u012562931
  • 2015年12月31日 23:31
  • 743

if()return;的一点小问题

由于刚学习。很多东西不调清楚,所以就记下来
  • li_orange520
  • li_orange520
  • 2016年05月30日 10:27
  • 141

机型适配的一点小问题

适配经常会出现图片不适应的问题,然后w
  • u010450139
  • u010450139
  • 2014年04月21日 16:17
  • 304

交叉编译的一点小问题

最近在一些xiaozho1.在编译静态库的时候,需要添加-static选项,
  • ustczm
  • ustczm
  • 2014年06月24日 16:10
  • 399

数据库的一点小问题

  • sunqian4
  • sunqian4
  • 2009年04月29日 18:33
  • 185
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:excel导入数据库的一点小问题
举报原因:
原因补充:

(最多只允许输入30个字)