标题:如何实现一下按条件分工作薄
只看楼主
ls_y041
Rank: 2
等 级:论坛游民
威 望:1
帖 子:157
专家分:35
注 册:2005-9-29
得分:0 
这个copy to &xfilename type xl5复制出来的文件只能是2003以上的版本才可以的,谢谢!!
2022-01-05 11:07
ls_y041
Rank: 2
等 级:论坛游民
威 望:1
帖 子:157
专家分:35
注 册:2005-9-29
得分:0 
回复 20楼 laowan001
我上传主表,请帮助调试一下,
主表.rar (878 Bytes)
2022-01-05 11:28
laowan001
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:54
帖 子:802
专家分:1914
注 册:2015-12-30
得分:0 
以下是引用ls_y041在2022-1-5 11:07:45的发言:

这个copy to &xfilename type xl5复制出来的文件只能是2003以上的版本才可以的,谢谢!!


这话的意思是导出的文件不满足要求吗?没看懂
你截图里除了总表是xlsx,其他都是xls,用上面的命令导出就是xls格式的

[此贴子已经被作者于2022-1-5 11:58编辑过]

2022-01-05 11:57
ls_y041
Rank: 2
等 级:论坛游民
威 望:1
帖 子:157
专家分:35
注 册:2005-9-29
得分:0 
是说要用模板的表另存为工作薄上面的代码运行后会提示打开表
2022-01-05 13:52
laowan001
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:54
帖 子:802
专家分:1914
注 册:2015-12-30
得分:0 
以下是引用ls_y041在2022-1-5 13:52:13的发言:

是说要用模板的表另存为工作薄上面的代码运行后会提示打开表

没明白什么意思。
如果必须要在VFP里用模板的话,我就不灵了
2022-01-05 14:26
laowan001
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:54
帖 子:802
专家分:1914
注 册:2015-12-30
得分:0 
你的总表转成dbf了吗?
2022-01-05 14:29
ls_y041
Rank: 2
等 级:论坛游民
威 望:1
帖 子:157
专家分:35
注 册:2005-9-29
得分:0 
我的表在22楼
2022-01-05 14:31
laowan001
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:54
帖 子:802
专家分:1914
注 册:2015-12-30
得分:0 
程序代码:
CLOSE DATABASES 

local outfile,xoutlist,xfile,xfilename
outfile = sys(2015)
SELECT 工单号,维修类型,领料人,代码 项目,零部件名称 说明,SUM(零部件数量) 数量,销售单价 含税单价,仓库代码 仓库名称 ;
    FROM 主表 GROUP BY 工单号,维修类型,领料人,代码,零部件名称,销售单价,仓库代码 HAVING SUM(零部件数量)>0 INTO CURSOR &outfile READWRITE

xoutlist = sys(2015)
select distinct 工单号,维修类型,领料人 from &outfile into cursor &xoutlist readwrite
select &xoutlist
scan    && 导出每一个工作表
    xfile = sys(2015)
    select * from &outfile where 工单号=&xoutlist..工单号 and 维修类型=&xoutlist..维修类型 and 领料人=&xoutlist..领料人 ;
        into cursor &xfile readwrite    && 查询一个工作表的数据,根据需要保留或添加必要的字段
    xfilename = alltrim(工单号)+alltrim(维修类型)+alltrim(领料人)
    select &xfile
    copy to &xfilename type xl5
    use in &xfile
    select &xoutlist
ends
use in &xoutlist


程序修改了,试下吧
一共生成了6个xls
2022-01-05 14:41
laowan001
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:54
帖 子:802
专家分:1914
注 册:2015-12-30
得分:0 
程序代码:
CLOSE DATABASES 

local outfile,xoutlist,xfile,xfilename
outfile = sys(2015)
SELECT 工单号,维修类型,领料人,代码 项目,零部件名称 说明,SUM(零部件数量) 数量,销售单价 含税单价,仓库代码 仓库名称 ;
    FROM 主表 GROUP BY 工单号,维修类型,领料人,代码,零部件名称,销售单价,仓库代码 HAVING SUM(零部件数量)>0 INTO CURSOR &outfile READWRITE

xoutlist = sys(2015)
select distinct 工单号,维修类型,领料人 from &outfile into cursor &xoutlist readwrite
select &xoutlist
scan    && 导出每一个工作表
    xfilename = alltrim(工单号)+alltrim(维修类型)+alltrim(领料人)
    xfile = sys(2015)
    select SPACE(2) 行,SPACE(2) T,项目,说明,SPACE(2) 套餐,SPACE(2) W,数量,含税单价,SPACE(2) 折扣,SPACE(2) 总计,SPACE(2) V,SPACE(2) P,SPACE(2) I,仓库名称 ;
        from &outfile where 工单号=&xoutlist..工单号 and 维修类型=&xoutlist..维修类型 and 领料人=&xoutlist..领料人 ;
        into cursor &xfile readwrite    && 查询一个工作表的数据,根据需要保留或添加必要的字段
    select &xfile
    copy to &xfilename type xl5
    use in &xfile
    select &xoutlist
ends
use in &xoutlist

这是导出你模板那样子的
2022-01-05 14:48
ls_y041
Rank: 2
等 级:论坛游民
威 望:1
帖 子:157
专家分:35
注 册:2005-9-29
得分:0 
这个表不是2003的版本,不行不可以导入到其他的软件中。
2022-01-05 15:39



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




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

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