首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > VFP >

多个vf 数据输出到一个excel解决方案

2013-01-12 
多个vf 数据输出到一个excel本帖最后由 z315559822 于 2012-11-16 11:31:00 编辑问题:现在是VF通过读取4个

多个vf 数据输出到一个excel
本帖最后由 z315559822 于 2012-11-16 11:31:00 编辑 问题:现在是VF通过读取4个sql存储过程【产值报表、配料产值报表、砂光产值报表、油漆产值报表】,分别输出到4个xls表,希望修改代码为,读取这4个存储过程,然后输出到一个xls文件的4个sheet,而不是4个xls.

set exact on  
nd=STR(YEAR(DATE()),4,0)
@8,10 SAY "年度" get nd
@10,10 say "月份" get yf
read
st="driver=sql server;server="+fwq+";uid="+yh1+";pwd="+mm1+";database=Ld"
linka=sqlstringconnect(st)

tt1=sqlexec(linka,"exec 产值报表 ?nd,?yf")
wjm=sys(2003)+'\记录查询\产值报表.xls'
dele file &wjm
copy  to &wjm type xl5
DECLARE INTEGER ShellExecute IN shell32.DLL INTEGER HWND,STRING, ;
                        STRING lpszFile, STRING, STRING, INTEGER
operate= "open"
ShellExecute(0,operate,wjm,0,0,1)


tt1=sqlexec(linka,"exec 配料产值报表 ?nd,?yf")
wjm=sys(2003)+'\记录查询\配料产值报表.xls'
dele file &wjm
copy  to &wjm type xl5
DECLARE INTEGER ShellExecute IN shell32.DLL INTEGER HWND,STRING, ;
                        STRING lpszFile, STRING, STRING, INTEGER
operate= "open"
ShellExecute(0,operate,wjm,0,0,1)


tt1=sqlexec(linka,"exec 砂光产值报表 ?nd,?yf")
wjm=sys(2003)+'\记录查询\砂光产值报表.xls'
dele file &wjm
copy  to &wjm type xl5
DECLARE INTEGER ShellExecute IN shell32.DLL INTEGER HWND,STRING, ;
                        STRING lpszFile, STRING, STRING, INTEGER
operate= "open"
ShellExecute(0,operate,wjm,0,0,1)

tt1=sqlexec(linka,"exec 油漆上线产值报表 ?nd,?yf")
wjm=sys(2003)+'\记录查询\油漆上线产值报表.xls'
dele file &wjm
copy  to &wjm type xl5
DECLARE INTEGER ShellExecute IN shell32.DLL INTEGER HWND,STRING, ;
                        STRING lpszFile, STRING, STRING, INTEGER
    
operate= "open"
ShellExecute(0,operate,wjm,0,0,1)


st=sqldisconnect(linka)
clear
return

[解决办法]
示例:
ole_excel = CreateObject("Excel.Application") 
_ole_excel.VISIBLE=.T.
_ole_excel.WorkBooks.Open('aa1.xls')  && 要打开的工作表名(xls)必须是全路径 
*_ole_excel.ActiveWorkbook.Sheets.Add 
_ole_excel.Sheets(2).CELLS.SELECT
_ole_excel.Selection.Copy
_ole_excel1 = CreateObject("Excel.Application") 
_ole_excel1.VISIBLE=.T.
_ole_excel1.WorkBooks.Open('a1.xls')
_ole_excel1.ActiveSheet.PASTE
*_
[解决办法]

_ole_excel.Quit
release _ole_excel
就OK了

热点排行