Foxtable(狐表)用户栏目专家坐堂 → 利用Excel文件作为模板生成Excel报表的问题


  共有2499人关注过本帖树形打印复制链接

主题:利用Excel文件作为模板生成Excel报表的问题

帅哥哟,离线,有人找我吗?
zhangchi96
  1楼 | QQ | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:二尾狐 帖子:553 积分:5016 威望:0 精华:0 注册:2012/2/11 13:27:00
利用Excel文件作为模板生成Excel报表的问题  发帖心情 Post By:2015/10/19 16:34:00 [只看该作者]

利用Excel文件作为模板生成Excel报表:

 

Dim 房贴比例1,房贴比例2 As Double

If CurrentYM >= 201202 Then

    房贴比例1 = 4.9/100

    房贴比例2 = 13/100

End If.

 

Dim Book As New XLS.Book(ProjectPath & "Attachments\预算表导出模版.xls")

Dim Sheet0 As XLS.Sheet = Book.Sheets(0)   '定义第1个工作表

 

Sheet0(7,36).Value = "<iif([工龄起算] < 199812, round2(Vars("房贴比例1")*([岗位工资_实际]+[薪级工资_实际]+[教龄津贴]+[特级教师补贴]+[岗位津贴]+[生活补贴]+[农村津贴]),0),""是"")>" 


请教大师,最后一句怎么修改都不对,除了蓝色的部分外,其他的都没有问题,但不知道错在哪里?怎么修改才好!


 回到顶部
帅哥哟,离线,有人找我吗?
大红袍
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2015/10/19 16:42:00 [只看该作者]

Sheet0(7,36).Value = "<iif([工龄起算] < 199812, round(" & 房贴比例1 & "*([岗位工资_实际]+[薪级工资_实际]+[教龄津贴]+[特级教师补贴]+[岗位津贴]+[生活补贴]+[农村津贴]),0),""是"")>"

 回到顶部
帅哥哟,离线,有人找我吗?
zhangchi96
  3楼 | QQ | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:二尾狐 帖子:553 积分:5016 威望:0 精华:0 注册:2012/2/11 13:27:00
  发帖心情 Post By:2015/10/19 17:32:00 [只看该作者]

谢谢,但我要想用严格意义的四舍五入,把 round 换成round2后就出错了,有办法吗?大红袍老师!

 回到顶部
帅哥哟,离线,有人找我吗?
大红袍
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2015/10/19 17:34:00 [只看该作者]

Format(12.3456,"#")

 

Sheet0(7,36).Value = "<iif([工龄起算] < 199812, Format(" & 房贴比例1 & "*([岗位工资_实际]+[薪级工资_实际]+[教龄津贴]+[特级教师补贴]+[岗位津贴]+[生活补贴]+[农村津贴]),""#""),""是"")>"

[此贴子已经被作者于2015/10/19 17:34:40编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
zhangchi96
  5楼 | QQ | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:二尾狐 帖子:553 积分:5016 威望:0 精华:0 注册:2012/2/11 13:27:00
  发帖心情 Post By:2015/10/19 22:50:00 [只看该作者]

试过了,在这里用 round2 或者 format ,返回的结果都是空值。

 回到顶部
帅哥哟,离线,有人找我吗?
大红袍
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2015/10/19 22:54:00 [只看该作者]

Sheet0(7,36).Value = "<iif([工龄起算] < 199812, Format(" & 房贴比例1 & "*(isnull([岗位工资_实际],0)+isnull([薪级工资_实际],0)+isnull([教龄津贴],0)+isnull([特级教师补贴],0)+isnull([岗位津贴],0)+isnull([生活补贴],0)+isnull([农村津贴],0)),""#""),""是"")>"

 

不行,就上传例子


 回到顶部
帅哥哟,离线,有人找我吗?
zhangchi96
  7楼 | QQ | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:二尾狐 帖子:553 积分:5016 威望:0 精华:0 注册:2012/2/11 13:27:00
  发帖心情 Post By:2015/10/19 23:49:00 [只看该作者]

不好意思
我是在下面这个语句中
Sheet0(7,35).Value = "< round(12*" & 房积金比例1 & "*([岗位工资_实际]+[薪级工资_实际]),0)>"

把 round换成 format 后,变为:

Sheet0(7,35).Value = "< format(12*" & 房积金比例1 & "*([岗位工资_实际]+[薪级工资_实际]),""#"")>"

         但在其他都是同样的条件下,前者有数值结果,后者执行却结果为空白
[此贴子已经被作者于2015/10/20 7:58:18编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
大红袍
  8楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2015/10/20 9:41:00 [只看该作者]

测试了一下两个都没问题,有问题做例子上来。

 回到顶部