标题:如何实现对一个工作表xls 2003 的导入成DBF
只看楼主
ls_y041
Rank: 2
等 级:论坛游民
威 望:1
帖 子:157
专家分:35
注 册:2005-9-29
结帖率:95%
已结贴  问题点数:20 回复次数:19 
如何实现对一个工作表xls 2003 的导入成DBF
我想重新来处理这个表的问题,请帮助一下,一步一步的来学习。
1.先把发料表进行导入DBF
2.对数据进行一下分类汇总。
发货表.rar (10.67 KB)
搜索更多相关主题的帖子: 工作表 DBF xls 分类 导入 
2022-01-06 13:22
吹水佬
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:432
帖 子:10064
专家分:41463
注 册:2014-5-20
得分:5 
1、搜索一下“EXCEL”,在VFP板块最近也有不少相关讨论贴,参考 https://bbs.bccn.net/viewthread.php?tid=506114&extra=&highlight=excel&page=2
2、在1的基础上进行是VFP的强项了
最好自己先写代码,一发现有问题就提出来讨论,逐个问题分别来解决,针对问题点到即止,就算是一个简单的能反映出问题的示例也好。
无需一开始就放出一大堆问题,令人无所适从,时间花费也是一个问题。
2022-01-06 15:57
ls_y041
Rank: 2
等 级:论坛游民
威 望:1
帖 子:157
专家分:35
注 册:2005-9-29
得分:0 
cDefPath = ADDBS(JUSTPATH(SYS(16)))
SET DEFAULT TO (cDefPath)
xlsFile = cDefPath + "发料统计.xls"
WITH CREATEOBJECT("Excel.Application")
    .DisplayAlerts = 0
    .WorkBooks.Open(xlsFile)
    nRow = .CountA(.Range("A:A")) - 2
    nCol = .CountA(.Range("4:4"))
    arr  = .Cells(5,1).Resize(nRow,nCol).Value
    .WorkBooks.Close
    .Quit
ENDWITH
CREATE CURSOR tt( 序号  c(10),经销商简称 c(10),仓库代码 c(10),库位代码 c(10),工单号 c(10),车牌号 c(10),车系 c(10),领料人 c(10),零部件代码 C(10),零部件名称 C(30),零部件数量 n(6,2),;
零部件销售单价 n(6,2),零部件成本单价 n(6,2),维修类型 C(10))
INSERT INTO tt FROM ARRAY arr
SELECT * FROM tt
2022-01-06 16:36
ls_y041
Rank: 2
等 级:论坛游民
威 望:1
帖 子:157
专家分:35
注 册:2005-9-29
得分:0 
第一步完成了。
第二步的数据分类汇总不会处理了


[此贴子已经被作者于2022-1-6 16:38编辑过]

2022-01-06 16:37
吹水佬
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:432
帖 子:10064
专家分:41463
注 册:2014-5-20
得分:0 
按什么分类、汇总什么?
2022-01-06 16:46
ls_y041
Rank: 2
等 级:论坛游民
威 望:1
帖 子:157
专家分:35
注 册:2005-9-29
得分:0 
按工单号为分组 再对配件代码汇总零部件数量,当数量为0就不要这个记录了。


[此贴子已经被作者于2022-1-6 17:05编辑过]

2022-01-06 16:57
mywisdom88
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:190
帖 子:3125
专家分:8340
注 册:2015-3-25
得分:5 
为什么,不在VFP的DBF中处理玩后,再导出EXECL中呢,
2022-01-06 17:17
吹水佬
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:432
帖 子:10064
专家分:41463
注 册:2014-5-20
得分:0 
以下是引用ls_y041在2022-1-6 16:57:48的发言:

按工单号为分组 再对配件代码汇总零部件数量,当数量为0就不要这个记录了。

没见有“配件代码”
是按“工单号 + 零部件代码”分类汇总“零部件数量”吧

SET ENGINEBEHAVIOR 70
SELECT *,SUM(零部件数量) 汇总数量 FROM tt GROUP BY 工单号,零部件代码 INTO CURSOR tmp
SELECT * FROM tmp WHERE 汇总数量!=0
2022-01-06 19:33
ls_y041
Rank: 2
等 级:论坛游民
威 望:1
帖 子:157
专家分:35
注 册:2005-9-29
得分:0 
一切ok,还差一步,就是把这个总表的数据,按每个工单号把数据保存到模板中,保存的文件名称“工单号+领料人+维修类型+牌照号”,当工单有两个领料人时做两个工作分别显示。
parts.rar (8.82 KB)


[此贴子已经被作者于2022-1-6 21:05编辑过]

2022-01-06 20:58
吹水佬
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:432
帖 子:10064
专家分:41463
注 册:2014-5-20
得分:0 
以下是引用ls_y041在2022-1-6 20:58:37的发言:

一切ok,还差一步,就是把这个总表的数据,按每个工单号把数据保存到模板中,保存的文件名称“工单号+领料人+维修类型+牌照号”,当工单有两个领料人时做两个工作分别显示。

这个就是填表,自己写好了,逐条逐格填写也可以了。
2022-01-06 22:06



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-508085-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.016974 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved