格式导致的Excel导入sql出现异常的解决方法

本来程序是正常运行的,有时候会因为用户的excel文档没有按要求的格式来做,才会出现一些异常情况。本以为这次也是一样,后来拿到数据一看,并没有发现什么异常,而且自己又照着做了一些数据,竟然也会出现异常,只好怀疑是自己的程序有问题了。

常言说的好,最难找的是最后一个错误,这话确实不错。我几乎动用了我所掌握的各种手段,程序上真的没办法找出有啥问题了。在一个问题上折腾久了,浪费时间不说,还容易让自己的情绪低落。到后来,还是转去怀疑用户的数据有问题,无意中做了一下格式调整,竟然发现异常不见了。

Excel的单元格格式设置十分丰富,数据一旦被格式化,那你所看到可能已经不是庐山真面目了。比如货币格式,数据本身只是一串数字,并不会包含货币符号。

在我这个程序中,有一列数据为编码,可能是字母和数字的混合,也可能是纯数字,正常情况下,应该设置成文本格式,可能因为纯数字在这种情况下会有一个错误提示,也就是在单元格旁边出现了一个黄色的感叹号,用户大概觉得不对,就设置成了邮政编码这种特殊格式,数据看起来没啥变化,但程序在识别的时候就出现了异常。还有一个字段是月份,程序要求在一位数前补0,如果格式设置为数字,前面的0就没有了,所以必须设置为文本。如果自定义为:00,虽然在excel下显示的数字和想要的一样,但程序在处理时会当成一个数字处理,结果也会不符合要求。

总结一下,对于要导入到数据库的excel数据,不要做格式化处理,保持原始的字符或数字格式是最明智的选择。

时间: 2024-09-19 08:20:26

格式导致的Excel导入sql出现异常的解决方法的相关文章

格式导致的Excel导入sql出现异常的解决方法_MsSql

本来程序是正常运行的,有时候会因为用户的excel文档没有按要求的格式来做,才会出现一些异常情况.本以为这次也是一样,后来拿到数据一看,并没有发现什么异常,而且自己又照着做了一些数据,竟然也会出现异常,只好怀疑是自己的程序有问题了. 常言说的好,最难找的是最后一个错误,这话确实不错.我几乎动用了我所掌握的各种手段,程序上真的没办法找出有啥问题了.在一个问题上折腾久了,浪费时间不说,还容易让自己的情绪低落.到后来,还是转去怀疑用户的数据有问题,无意中做了一下格式调整,竟然发现异常不见了. Exce

win7系统中excel导入外部数据出错的解决方法

  在我们平常办公中,最常用的软件是什么?当然是office软件中的word文档.Execl表格和PPT了,在需要用到文字的时候我们选择word,在做数字统计时用execl,演示图片时使用PPT,这三种办公软件是我们常见的.但是最近有win7的用户来反映说,在用excel导入外部数据时老是出错,无法导入成功,这样不仅损坏外部数据,而且也影响我们的办公效率.下面小编来教大家一招,如何在win7系统电脑中导入外部的数据.   win7系统中excel导入外部数据出错的解决方法如下: 1.首先,咱们需

MySQL导入sql脚本错误:2006 解决方法_Mysql

MySQL导入sql脚本错误:2006 - MySQL server has gone away 到如一些小脚本很少报错,但最近导入一个10+M的SQL脚本,却重复报错: Error occured at:2014-03-24 11:42:24 Line no.:85 Error Code: 2006 - MySQL server has gone away 最终找到原因,原来是MySQL导入大批量数据的时候超出了默认允许最大的数据包所以就提示2006 - MySQL server has go

excel-用ADO将Excel导入sql server 2008 报error# 3092错误

问题描述 用ADO将Excel导入sql server 2008 报error# 3092错误 我用ADO将一张excel表导入到sql server中去,代码如下: hr=m_pConnection->Open(_bstr_t("Provider=SQLOLEDB;server=TOUCH;Database=MR_NXT;Uid=touch0413;Pwd=LJm_1989915"),"","",adModeUnknown); m_pCo

C#,将excel导入sql 表里的时候,如何读取excel第一行标头的内容阿

问题描述 C#,将excel导入sql表里的时候,如何读取excel第一行标头的内容阿.也就是指定单元格的内容.谢谢 解决方案 解决方案二:http://www.cnblogs.com/GodSpeed/archive/2008/03/14/1105178.html解决方案三:如果仅需要读取标题信息的话可用使用OleDbConnection的GetSchema方法解决方案四:将excel作为数据库读取,加载到datatable里面,就可以取到表头了.解决方案五:能说详细点吗,我是新手.另,我已经

ASP.NETR把Excel导入SQL数据库的自定义类

ASP.NETR把Excel导入SQL数据库的自定义类 以下是引用片段:public class SaveToSql {   public string strNewCodeId = string.Empty;   public string strNewCode = string.Empty;   public string strNewDes = string.Empty;   public string strOldCodeId = string.Empty;   public strin

new-VB6实现excel导入SQL SERVER7程序问题

问题描述 VB6实现excel导入SQL SERVER7程序问题 Set cnn = New ADODB.Connection cnn.Open "Provider=SQLOLEDB.1;Persist Security Info=True;User ID=sa;Initial Catalog=labor;Data Source=RPC_004" cnn.CursorLocation = adUseClient Set RS = New ADODB.Recordset STR = &q

Mysql 导入.sql数据实现几种方法

mysql教程 导入.sql数据实现几种方法 方法如下: 1. 先用jive用户连接: e:mysqlbin>mysql -u jive -p jive 2. 再运行如下命令: mysql> . f:workingfolderjivejdondatabasejive_mysql.sql   我的个人实践是:php教程myadmin 导出 utf-8 的 insert 模式的 abc.sql ftp abc.sql 到服务器 ssh 到服务器 mysql -u abc -p use kkk(数据

LINQ TO SQL常见异常及解决办法

引言 网上介绍Linq TO SQL的资料不少,但是实际工程中的例子很少,本文是我在使用Linq TO SQL开发项目中遇到的异常及解决方法,希望对您有帮助. 本文会继续更新... 系统环境 Visual Studio 2008 NET Framework 3.5+Microsoft SQL Server 2005+Window XP+ SP3 LINQ TO SQL采用配置式开发 常见异常 本文基本上使用断开的DataContext方式下开发中出现的异常. [System.Data.Linq.