快疯了,一个Excel导入的问题!(100分)

  • 主题发起人 主题发起人 boy_505
  • 开始时间 开始时间
B

boy_505

Unregistered / Unconfirmed
GUEST, unregistred user!
我用ADO像操作数据库表一样打开Excel,但是读数据的时候,有些列的数据明明是存在的,读出来却是空的,这是为什么????晕。
 
什么提示也没有,不好帮你想办法啊
 
因为这些列里的数据类型不一样。。。
Excel一个列有两种不一样类型的数据就会读不出来的,
即一个字段有两个类型很自然就出问题了。
直接ADO像操作数据库表一样打开Excel,不是很安全的方法。
建议还是多写点代码来读Excel。
 
excel以数据表方式访问,跟文件内容和行列格式以及mdac都有关系,经常会有未知的错误。控制起来,麻烦之极。建议不使用。
像你的错误,应该是这个文件的行列格式有问题。建议你把数据取出来,然后新建一个新的excel文件,再粘贴入数据试试。
 
TO:terryapp
是啊,差不多就是这种情况,有解决办法吗?
 
就是一个列有两种类型的数据它就只读一种。
 
对数据表进行格式化,各列格式都转换成统一的格式就可避免异常。
 
你是想实现什么功能??

我这里有关于到处到Excel的函数
 
就是一个Excel表列里有两种以上数据时,ADO只读一种数据,其它的读出来都为空值。
 
如果你要让客户把数据做成Excel,然后你导入你的库,
那我告诉你,是肯定做不到的!因为客户个体建立的
Excel难免有不一致的地方。。。
如果你一定要用ADO像操作数据库表一样打开Excel,
那我建议你先导出一个格式的Excel文件,
在这个格式文件里写表头,同时对Excel单元格的格式做约定,
全部都设置成文本。。。
这样可以避免你说的情况,但是一定要客户配合你严格按导出格式文件导入!
 
shhw
我要把一个Excel表导入到Oracel中,Excel表的每一列可能包括有数字型和字符型的数据。ADO只读一种,另一种读出来为空值。
 
比较麻烦
容易出错
 
读写EXCEL比较好的控件是XLSREADWRITE。
 
你把有问题的列重新设置一下格式,都换成文本,
这个对数字型和字符型应该都适用的,
不过我建议你重新建个Excel做操作,
然后在读看看,
不过总是不建议直接这样用,容易有问题的。
 
看看这个,或许对你有帮助。
http://www.delphibbs.com/keylife/iblog_show.asp?xid=6884
 
把execl换成文本,再把文本当一个表来读
 
直接对列格式进行格式化,导入、不保存,退出。要客户规范地按你的格式使用excel是不可能的(也不人道:)),
 
估计是数据格式不正确
你的方法不能读取所有格式的数据
你换成文本格式试试
建议不要用这种方法
 
都换成文本,有时候没问题,有时候也会读不到。
最主要是数据Excel表是客户已经输好的,不好修改Excel表列的格式。
 
创意、自由、灵活,独特的双数据源连接,全功能的表格组件,超强的报表功能
http://www.anylib.com
 
后退
顶部