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,一行行添加,再导入时就没有了空行的问题。然后我又多添加了几行数据再删除,又出现了空行数据。所以问题就是你所看到的空行并没有数据,但是程序认为是有数据的。

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

相关文章推荐

初学echarts的excel数据导入遇到的小问题

1,单引号声明的字符串中如果有转义符(比如一个路径中的斜杠),这其实就是当作斜杠处理,不是转义字符。 但是当你在下文又和双引号声明的字符串链接时,就会导致问题,出现路径不对情况。 2,在定义Sheet...

Boost中获取本地时间表示的秒钟值时的一点小问题

Boost的date_time库功能虽然强大,但是遗憾的是,它并没有提供获取本地时间表示的秒钟值的方法,例如类似于Java中的getSecond方法。不过官方提供了一个example来解决此问题,示例...
  • c77_cn
  • c77_cn
  • 2013年10月27日 21:54
  • 615

本人遇到的关于namespace的一点小问题总结

看下我的配置文件:struts.xml配置文件如下:test.xml配置文件如下: 首先说一下本人遇到的一个低级问题:       在struts.xml文件中,运用文件包含其他模块xml,如果按上面...

C语言内存管理机制的一点小问题

先来一张高能的图: 这张图片上的结果是一个细心地小伙儿发现的。。嗯不如说是个疯狂的小伙儿。 第一行里指针a,b竟然有相同的值,看这结果是不是很像引用? 理论上来说要用指针是要给它分配内存空间...
  • Panda_m
  • Panda_m
  • 2014年12月17日 16:53
  • 601

Ubuntu14.04安装搜狗输入法的一点小问题

难得搜狗输入法支持ubuntu,果断下载尝试一把。 官网:http://pinyin.sogou.com/linux/ 官网教程:http://pinyin.sogou.com/linux/help....

今天发现了一点小问题(有关byte)

今天在敲代码的时候,用到了byte这一数据类型.用完之后我才发现,其实我并不了解他。 贴一个我敲的代码。 package Dawn; public class test { public stati...

(原创)谈一点新手使用Android studio时遇见的各种小问题

如果你用惯了Eclipse进行Android开发的话,一时间恐怕难以适应Android studio,不怕!这就来教你一些Android  studio使用冷知识。 1:R文件异常,这个恐怕是所有...

SQL Server 动态SQL EXEC加括号与不加括号的一点小问题

SQL Server 2008 R2关键代码 DECLARE @lv_address VARCHAR(2000), @lv_re_ids V...
  • kxjrzyk
  • kxjrzyk
  • 2015年03月17日 15:08
  • 423

Ubuntu14.04安装mysql及过程中遇到的一点小问题

Ubuntu14.04出来有段时间了,前几天刚升级到这个版本,新鲜了一把。不过安装mysql时遇到了一点小问题,记录一下以备后用。 预备操作: 网上安装mysql的方法不少,大体有这么三种。  1. ...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:excel导入数据库的一点小问题
举报原因:
原因补充:

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