以文本方式查看主题 - Foxtable(狐表) (http://foxtable.com/bbs/index.asp) -- 专家坐堂 (http://foxtable.com/bbs/list.asp?boardid=2) ---- 利用Excel文件作为模板生成Excel报表的问题 (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=75995) |
-- 作者:zhangchi96 -- 发布时间:2015/10/19 16:34:00 -- 利用Excel文件作为模板生成Excel报表的问题 利用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),""是"")>" 请教大师,最后一句怎么修改都不对,除了蓝色的部分外,其他的都没有问题,但不知道错在哪里?怎么修改才好! |
-- 作者:大红袍 -- 发布时间:2015/10/19 16:42:00 -- Sheet0(7,36).Value = "<iif([工龄起算] < 199812, round(" & 房贴比例1 & "*([岗位工资_实际]+[薪级工资_实际]+[教龄津贴]+[特级教师补贴]+[岗位津贴]+[生活补贴]+[农村津贴]),0),""是"")>" |
-- 作者:zhangchi96 -- 发布时间:2015/10/19 17:32:00 -- 谢谢,但我要想用严格意义的四舍五入,把 round 换成round2后就出错了,有办法吗?大红袍老师! |
-- 作者:大红袍 -- 发布时间:2015/10/19 17:34:00 -- Format(12.3456,"#")
Sheet0(7,36).Value = "<iif([工龄起算] < 199812, Format(" & 房贴比例1 & "*([岗位工资_实际]+[薪级工资_实际]+[教龄津贴]+[特级教师补贴]+[岗位津贴]+[生活补贴]+[农村津贴]),""#""),""是"")>" [此贴子已经被作者于2015/10/19 17:34:40编辑过]
|
-- 作者:zhangchi96 -- 发布时间:2015/10/19 22:50:00 -- 试过了,在这里用 round2 或者 format ,返回的结果都是空值。 |
-- 作者:大红袍 -- 发布时间: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 -- 发布时间: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编辑过]
|
-- 作者:大红袍 -- 发布时间:2015/10/20 9:41:00 -- 测试了一下两个都没问题,有问题做例子上来。 |