【求助】关于delphi7 连接 excel的问题!
各位好,由于本人工作需要,现在想写一个数据查询的小程序,也就是把几张EXCEL表整合起来,为了查询方便嘛。我把几张EXCEL表看成数据库,直接连接,现遇到几个问题,如下,...
各位好,由于本人工作需要,现在想写一个数据查询的小程序,也就是把几张EXCEL表整合起来,为了查询方便嘛。
我把几张EXCEL表看成数据库,直接连接,现遇到几个问题,如下,
一、我的EXCEL里的数据不是像ACCESS里那样,一行一行有序的排列下来的,有时是横向排列的 ( 见图),请问这样还能查吗?如果不行,还有什么好方法吗?
二、EXCEL文档里,有好几个sheet, 如果里面的列名都一样,只是数据不同,sql 语句可以直接写成 select * from sheet1 and sheet2 and shee3 吗?
不好意思,本人刚学DELPHI,还请各位见谅! 展开
我把几张EXCEL表看成数据库,直接连接,现遇到几个问题,如下,
一、我的EXCEL里的数据不是像ACCESS里那样,一行一行有序的排列下来的,有时是横向排列的 ( 见图),请问这样还能查吗?如果不行,还有什么好方法吗?
二、EXCEL文档里,有好几个sheet, 如果里面的列名都一样,只是数据不同,sql 语句可以直接写成 select * from sheet1 and sheet2 and shee3 吗?
不好意思,本人刚学DELPHI,还请各位见谅! 展开
4个回答
展开全部
有几个步骤供您参考:
1.第一步,最好直接在Excel里面将数据排列到比较规律。因为这个操作在Excel里面是最简单的。
方法是这样的,新建一个Sheet,比如Sheet100。
在新Sheet最左上角的地方输入一个等号“=”然后回车,这时候可以通过鼠标选择单元格,跳回到
第一个包含姓名信息的单元格,然后回车。
然后用鼠标拖动单元格的右下角,先向右拖动3格,这样就复制了“序号、姓名和备注”,
然后选择这三格,用鼠标拖动单元格右下角,向下拖动,就会一直复制所有姓名。
用同样的方式可以将所有的姓名复制到一个单元格,并且非常规律的排列。
这个操作非常方便,附一张图片给您参考。
2.有了第一步,第二部就非常简单了,无论你直接连接Excel,还是将Excel导入到Access之后再连接都比较方便。当然建议是用Access将Excel数据导入。毕竟Access是专业的数据库。
上述的两个步骤都与Delphi无关,所以你熟悉不熟悉Delphi都无所谓了。
希望可以帮到你,有问题欢迎再提问。
追问
您好,您的方法好是好,但是我的EXCEL文档数据太多,都按顺序排列了太麻烦了。。。。。。
展开全部
貌似和delphi没关系,都是sql语句问题.
1 首行的空行删掉,然后看下sql语句union all的帮助.
语句大致是这样
select 序号, 姓名,备注 from [sheet1$] union all select 序号1 as 序号,姓名1 as姓名,备注1 as 备注 from [sheet1$] union all select 序号2 as 序号,姓名2 as姓名,备注2 as 备注 from [sheet1$]
2 同上
语句类似
select * from [sheet1$] union all select * from [sheet2$]
1 首行的空行删掉,然后看下sql语句union all的帮助.
语句大致是这样
select 序号, 姓名,备注 from [sheet1$] union all select 序号1 as 序号,姓名1 as姓名,备注1 as 备注 from [sheet1$] union all select 序号2 as 序号,姓名2 as姓名,备注2 as 备注 from [sheet1$]
2 同上
语句类似
select * from [sheet1$] union all select * from [sheet2$]
追问
您好,EXCEL不是按规律排列的,也行吗?
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2011-06-17
展开全部
表名要加 [] 的
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询