DELPHI盒子
!实时搜索: 盒子论坛 | 注册用户 | 修改信息 | 退出
检举帖 | 全文检索 | 关闭广告 | 捐赠
技术论坛
 用户名
 密  码
自动登陆(30天有效)
忘了密码
≡技术区≡
DELPHI技术
移动应用开发
Web应用开发
数据库专区
报表专区
网络通讯
开源项目
论坛精华贴
≡发布区≡
发布代码
发布控件
文档资料
经典工具
≡事务区≡
网站意见
盒子之家
招聘应聘
信息交换
论坛信息
最新加入: shadowlinux001
今日帖子: 3
在线用户: 4
导航: 论坛 -> 数据库专区 斑竹:liumazi,waterstone  
作者:
男 asdfzxcv66 (asdfzxcv) ▲▲▲▲▲ -
注册会员
2019/11/13 14:58:07
标题:
excel做数据库,个别的数据无法显示 浏览:435
加入我的收藏
楼主: 我想用excel做数据库,现发现部分数据在的dbgrid中无法显示:如下图
此帖子包含附件:
JPEG 图像
大小:37.2K
----------------------------------------------
-
作者:
男 asdfzxcv66 (asdfzxcv) ▲▲▲▲▲ -
注册会员
2019/11/13 14:58:44
1楼: 这是excel中的数据
此帖子包含附件:
JPEG 图像
大小:144.9K
----------------------------------------------
-
作者:
男 asdfzxcv66 (asdfzxcv) ▲▲▲▲▲ -
注册会员
2019/11/13 15:03:12
2楼: 仔细观察发现字段“交易时间”中无法显示的是数据格式的内容,字符格式的内容可以显示,但是字段“交易日期”全部是数据格式的内容却都可以显示,为什么?怎么解决,会的帮帮忙,谢谢,源码也发一下
此帖子包含附件:asdfzxcv66_201911131537.rar 大小:781.3K
----------------------------------------------
-
作者:
男 asdfzxcv66 (asdfzxcv) ▲▲▲▲▲ -
注册会员
2019/11/13 15:40:44
3楼: 我是想将excel数据读入到access或者sqlite数据库中,用ADOQuery1.FieldByName('交易时间').AsString;执行到字段是数据类型时返回值就是空。
----------------------------------------------
-
作者:
男 lps (lps) ★☆☆☆☆ -
盒子活跃会员
2019/11/13 17:39:48
4楼: 应该是数据不规整吧。前面有空格?
----------------------------------------------
-
作者:
男 asdfzxcv66 (asdfzxcv) ▲▲▲▲▲ -
注册会员
2019/11/13 18:36:35
5楼: 不是这个原因,空格不影响。源码我已经上传了,你可以下载下来看看。就是数据格式引起的。
----------------------------------------------
-
作者:
男 lps (lps) ★☆☆☆☆ -
盒子活跃会员
2019/11/13 19:11:43
6楼: excel中交易时间这一列的数据类型都不一致!有绿色小三角的是字符型,没有的是数值型
----------------------------------------------
-
作者:
男 asdfzxcv66 (asdfzxcv) ▲▲▲▲▲ -
注册会员
2019/11/13 20:39:23
7楼: lps:就是因为有的是字符型,有的是数值型。如何解决这个问题?
----------------------------------------------
-
作者:
男 lps (lps) ★☆☆☆☆ -
盒子活跃会员
2019/11/13 21:29:39
8楼: 一种数据没道理类型不一样啊。如果是因为来源不同或许考虑一下类型转换
----------------------------------------------
-
作者:
男 asdfzxcv66 (asdfzxcv) ▲▲▲▲▲ -
注册会员
2019/11/13 22:03:13
9楼: 数据量很大。里面有的是字符型,有的是数字型。类型转换怎么转换?把字符型前面都加上英文的单引号。数据量很大唉。
----------------------------------------------
-
作者:
男 lps (lps) ★☆☆☆☆ -
盒子活跃会员
2019/11/13 22:18:15
10楼: 数据来源时就应该进行处理,保证一致。如果是多人手工录入的,可以考虑程序中先对excel文件进行一次转换
----------------------------------------------
-
作者:
男 asdfzxcv66 (asdfzxcv) ▲▲▲▲▲ -
注册会员
2019/11/13 22:28:04
11楼: 对excel文件进行一次转换,请问一下怎么转换?能给我一下代码吗?谢谢!
----------------------------------------------
-
作者:
男 keymark (keymark) ▲△△△△ -
注册会员
2019/11/13 23:54:02
12楼: 有看到过别人图像识别填表。。。  好像是一个工具。。。
----------------------------------------------
https://www.cnblogs.com/marklove/
作者:
男 asdfzxcv66 (asdfzxcv) ▲▲▲▲▲ -
注册会员
2019/11/14 6:45:32
13楼: keymark:请问哪一个是链接地址,没看明白
----------------------------------------------
-
作者:
男 oldsnake (oldwang) ★☆☆☆☆ -
盒子活跃会员
2019/11/14 7:49:21
14楼: Excel单元格左上角有绿色标志的是文本型的数字,是为了保留最前面的“0”的,你把最前面的单引号去掉就可以了。要么就不要用dbgrid来显示Excel的内容。
----------------------------------------------
-
作者:
男 kylix2008 (kylix2008) ★☆☆☆☆ -
普通会员
2019/11/14 9:51:41
15楼: uint1.pas中语句 adoQuery1.sql.add('select * from [Sheet1$]   ');
SQL读入数据时,当某列数据格式不一致,与该列数据类型不符合的内容,被忽略掉了。

采用SQL读入EXCEL数据,是将EXCEL表当做数据库的表来读的,要求每个字段的值都是某一数据类型。

对交易时间, 可能SQL读入时认为是数据型,绿色小三角的是字符型,因此字符型的值没有被读进去,即值为空值,因此dbgrid中显示为空白,这不是dbgrid的错。

对交易日期,都有绿色小三角,SQL读入时认为是字符型,都读进去了。
----------------------------------------------
-
作者:
男 xlonger (xlonger) ▲▲▲▲▲ -
普通会员
2019/11/14 11:48:47
16楼: 用 nexcel之类 组件 吧
----------------------------------------------
我打的是酱油,而不是别的什么油。
我灌的是口水,而不是别的什么水。
我聊的折腾不是那个不折腾的折腾。
我说的阿娇不是那个邓玉娇的阿娇。
3个代表,6个为什么,9个肠胃炎。
D性强的领导干部都不喜欢热比娅。
我特别要讲的是,屁民网黄色论坛是我经常上网必选的 网站之一
作者:
男 asdfzxcv66 (asdfzxcv) ▲▲▲▲▲ -
注册会员
2019/11/14 18:44:48
17楼: kylix2008:我明白了原有,但怎么解决这个问题呢?谢谢
----------------------------------------------
-
作者:
男 iamdream (银河恒久远,梦想无止境!) ★☆☆☆☆ -
大贡献会员
2019/11/14 20:12:04
18楼: 楼上的几位说得很清楚了,你的交易时间那一列类型不一致,那一列要么全部设成文本,要么全部设成数字,或者设成时间类型。
----------------------------------------------
-广袤璀璨的银河,永无止境的梦想(梦无止境游银河) 博客挂了……
作者:
男 nevergrief (孤独骑士) ★☆☆☆☆ -
盒子活跃会员
2019/11/15 7:26:28
19楼: Excel的菜单里就有格式化的选项,亲测过,管用。具体搜一下就知道了。
也就是说,VBA也有相关功能,读取之前调用一下,规范一下这个原始文档。
而且你知道,不管程序本身多强,数据不规范,还是什么都做不了。所以必须先规范一下原始文件。
----------------------------------------------
只有偏执狂才能生存!
作者:
男 asdfzxcv66 (asdfzxcv) ▲▲▲▲▲ -
注册会员
2019/11/16 6:29:41
20楼: 好的谢谢各位。
----------------------------------------------
-
信息
登陆以后才能回复
Copyright © 2CCC.Com 盒子论坛 v2.1 版权所有 页面执行42.96875毫秒 RSS