找回密码
 注册账号

QQ登录

只需一步,快速开始

手机号码,快捷登录

手机号码,快捷登录

初学者课程:T3自学|T6自学|U8自学软件下载课件下载工具下载资料:通资料|U8资料|NC|培训|年结积分规则 | 使用常见问题Q&A
知识库:U8 | | NC | U9 | OA | 政务U8|U9|NCC|NC65|NC65客开|NCC客开新手必读 | 任务 | 快速增金币用友QQ群[微信群]
查看: 9341|回复: 31

[求助] excel与用友结合开发报表

    [复制链接]
发表于 2008-4-18 09:03:56 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?注册账号

×
用习惯excel软件,感觉用友报表系统太落后了,如果能将excel功能在用友报表中体现出来,我想报表开发就方便很多了!

我目前每月将软件中的科目发生额导入excel中,然后利用excel函数进行编制各种报表,大家有没有这方面的经验!在这里分享一下吧!

谢谢了!
发表于 2008-4-25 17:18:00 | 显示全部楼层
excel与用友结合开发报表,强烈支持!!
发表于 2008-4-26 12:14:35 | 显示全部楼层
谢谢您的无私分享!我正在寻找呢!
发表于 2008-5-4 13:44:59 | 显示全部楼层
excel与用友结合开发报表,强烈支持!!
发表于 2008-5-4 14:32:04 | 显示全部楼层
还没用到~~~~~~多多留意~~~~
发表于 2008-5-18 01:42:58 | 显示全部楼层
我一般是用EXCEL VBA和SQL 直接到用友数据库取数到数组,全内存运算生成报表之后,直接粘贴到EXCEL表中,整个过程估计不超过1秒!等下我发个例子上来!
发表于 2008-5-18 10:09:09 | 显示全部楼层
我也尝试了,用VBA来处理,简单用做了程序,获取客户档案表:不用登录用友就能直接在Excel中方便查询客户资料。
 楼主| 发表于 2008-5-19 13:49:25 | 显示全部楼层
这是我这两天写的代码,主要是在excel中获取数据库中的数据。


Sub QuerySalebillVouch()
'销售发票主表
ActiveSheet.Range("a8:iv65536").ClearContents
With ActiveSheet.QueryTables.Add(Connection:= _
        "ODBC;DRIVER=SQL Server;SERVER=10.3.0.98;UID=saWD=;APP=Microsoft Office XP;WSID=FIN-RENH;DATABASE=UFDATA_001_2008" _
        , Destination:=Range("A8"))
        .CommandText = Array( _
        "select * from UFDATA_001_2008.dbo.salebillvouch salebillvouch where sbvid>=4526 order by sbvid desc")
       .Refresh BackgroundQuery:=False
End With
End Sub



Sub QuerySalebillVouchs()
'销售发票子表
ActiveSheet.Range("a8:iv65536").ClearContents
With ActiveSheet.QueryTables.Add(Connection:= _
        "ODBC;DRIVER=SQL Server;SERVER=10.3.0.98;UID=saWD=;APP=Microsoft Office XP;WSID=FIN-RENH;DATABASE=UFDATA_001_2008" _
        , Destination:=Range("A8"))
        .CommandText = Array( _
        "select * from UFDATA_001_2008.dbo.salebillvouchs salebillvouchs where autoid>=121700 order by autoid desc")
       .Refresh BackgroundQuery:=False
      
End With
End Sub
Sub MaxAutoID()
'查询销售发票子表的最大标识号
With ActiveSheet.QueryTables.Add(Connection:= _
        "ODBC;DRIVER=SQL Server;SERVER=10.3.0.98;UID=saWD=;APP=Microsoft Office XP;WSID=FIN-RENH;DATABASE=UFDATA_001_2008" _
        , Destination:=Range("E3"))
        .CommandText = Array( _
        "select MAX(AUTOID) from UFDATA_001_2008.dbo.salebillvouchs salebillvouchs ")
       .Refresh BackgroundQuery:=False
      
End With
End Sub
Sub Inventory()
'存货编码
ActiveSheet.Range("a8:iv65536").ClearContents
With ActiveSheet.QueryTables.Add(Connection:= _
        "ODBC;DRIVER=SQL Server;SERVER=10.3.0.98;UID=sa;PWD=;APP=Microsoft Office XP;WSID=FIN-RENH;DATABASE=UFDATA_001_2008" _
        , Destination:=Range("A8"))
        .CommandText = Array( _
        "select * from UFDATA_001_2008.dbo.inventory inventory")
       .Refresh BackgroundQuery:=False
      
End With
End Sub

Sub Code()
'科目代码表
ActiveSheet.Range("a8:iv65536").ClearContents
With ActiveSheet.QueryTables.Add(Connection:= _
        "ODBC;DRIVER=SQL Server;SERVER=10.3.0.98;UID=sa;PWD=;APP=Microsoft Office XP;WSID=FIN-RENH;DATABASE=UFDATA_001_2008" _
        , Destination:=Range("A8"))
        .CommandText = Array( _
        "select * from UFDATA_001_2008.dbo.code code order by ccode")
       .Refresh BackgroundQuery:=False
      
End With
End Sub
Sub AP_InvCode()
'应收应付购销科目设置表
ActiveSheet.Range("a8:iv65536").ClearContents
With ActiveSheet.QueryTables.Add(Connection:= _
        "ODBC;DRIVER=SQL Server;SERVER=10.3.0.98;UID=sa;PWD=;APP=Microsoft Office XP;WSID=FIN-RENH;DATABASE=UFDATA_001_2008" _
        , Destination:=Range("A8"))
        .CommandText = Array( _
        "select * from UFDATA_001_2008.dbo.AP_invcode ap_invcode")
       .Refresh BackgroundQuery:=False
End With
End Sub
Sub AP_Detail()
'应收应付明细表
ActiveSheet.Range("a8:iv65536").ClearContents
With ActiveSheet.QueryTables.Add(Connection:= _
        "ODBC;DRIVER=SQL Server;SERVER=10.3.0.98;UID=sa;PWD=;APP=Microsoft Office XP;WSID=FIN-RENH;DATABASE=UFDATA_001_2008" _
        , Destination:=Range("A8"))
        .CommandText = Array( _
        "select * from UFDATA_001_2008.dbo.ap_detail ap_detail where auto_id>=307520 order by auto_id desc")
       .Refresh BackgroundQuery:=False
End With
End Sub

Sub 查询收款明细()
'查询收款明细
ActiveSheet.Range("a8:iv65536").ClearContents
With ActiveSheet.QueryTables.Add(Connection:= _
        "ODBC;DRIVER=SQL Server;SERVER=10.3.0.98;UID=sa;PWD=;APP=Microsoft Office XP;WSID=FIN-RENH;DATABASE=UFDATA_001_2008" _
        , Destination:=Range("A8"))
        .CommandText = Array( _
        "select * from UFDATA_001_2008.dbo.ap_detail ap_detail where iperiod=5 and ap_detail.cVouchType=48 and ap_detail.cInvCode is not null order by auto_id desc")
       .Refresh BackgroundQuery:=False
End With
End Sub
Sub cGLSign()
'查询转账凭证贷方明细
On Error Resume Next
Dim N As Integer
N = Range("b3")
m = Range("b4")

ActiveSheet.Range("a8:iv65536").ClearContents
With ActiveSheet.QueryTables.Add(Connection:= _
        "ODBC;DRIVER=SQL Server;SERVER=10.3.0.98;UID=sa;PWD=;APP=Microsoft Office XP;WSID=FIN-RENH;DATABASE=UFDATA_001_2008" _
        , Destination:=Range("A8"))
        .CommandText = Array( _
        "select iperiod 会计期,iGLno_id 凭证号,cvouchid 发票号,dvouchdate 发票日期,cdwcode 客户代码,sum(idamount) 发票金额  from UFDATA_001_2008.dbo.ap_detail ap_detail where  cGLSign='转' and iperiod=" & N & "and iGLno_id=" & m & "group by cvouchid,dvouchdate,cdwcode,iperiod,iglno_id")
        
        
       .Refresh BackgroundQuery:=False
End With
Range("a65536").End(xlUp).Offset(1, 0) = "合计"
Range("a65536").End(xlUp).Offset(0, 5) = "=sum(f9:f" & Range("f65536").End(xlUp).Row & ")"
End Sub

[ 本帖最后由 hner 于 2008-5-19 13:50 编辑 ]

评分

参与人数 1威望 +10 金币 +30 魅力 +10 收起 理由
yifeng651 + 10 + 30 + 10 助人为乐,感谢分享!

查看全部评分

发表于 2008-5-19 14:21:50 | 显示全部楼层
楼上高手啊,可惜我不会用
发表于 2008-5-19 16:17:26 | 显示全部楼层
用f417不是挺好吗
发表于 2008-5-19 16:24:34 | 显示全部楼层
没看明白。。。。。。
发表于 2008-5-19 16:27:43 | 显示全部楼层
我们的UFO报表只出资产负债表和利润表
 楼主| 发表于 2008-5-23 13:01:31 | 显示全部楼层
利用UFO编制报表麻烦,利用EXCEL+VBA结合SQL语言或者EXCEL函数完全可以编制出很多个性化的报表!
发表于 2008-5-24 09:21:53 | 显示全部楼层
本人觉得说到取数问题UFO是挺好用的,不用那么多专业知识

评分

参与人数 1金币 +10 收起 理由
yifeng651 + 10 我很赞同

查看全部评分

发表于 2008-5-28 20:47:25 | 显示全部楼层
看了此贴更知得抓紧学VBA了
您需要登录后才可以回帖 登录 | 注册账号

本版积分规则

QQ|站长微信|Archiver|手机版|小黑屋|用友之家 ( 蜀ICP备07505338号|51072502110008 )

GMT+8, 2024-5-21 05:58 , Processed in 0.048885 second(s), 11 queries , Gzip On, Redis On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表