Foxtable(狐表)用户栏目专家坐堂 → 动态改变Excel模板的行高


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

主题:动态改变Excel模板的行高

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


加好友 发短信
等级:小狐 帖子:366 积分:2478 威望:0 精华:0 注册:2013/1/13 23:43:00
动态改变Excel模板的行高  发帖心情 Post By:2013/9/18 10:29:00 [只看该作者]

为了动态调整Excel报表的行高,编写代码如下:


Dim dr As Row = CurrentTable.Current
If dr Is Nothing Then
    Return
End If
Dim fl As String = ProjectPath & "Attachments\标签模板.xls"
Dim Book As New XLS.Book(fl) '根据当前行的几个可能为空值得列是否为空值调整模板的相关行列的高与宽.
Dim sheet = Book.sheets(0)

Dim v,m,n As Single
Dim lst As List(Of Integer)
If dr.IsNull("材质2") Then
    m = m + 1
    lst.add(7)
End If
If dr.IsNull("材质3") Then
    m = m + 1
    lst.add(8)
End If
If dr.IsNull("材质4") Then
    m = m + 1
    lst.add(9)
End If
If dr.IsNull("B1") Then
    n = n + 1
    lst.add(18)
End If
v = 9 * m + 22 * n
v = v/(sheet.Rows.count - 2 - m - n)
v = 9 + v
v = Format(v,"0.00")
MessageBox.Show(v)

For i As Integer = 2 To sheet.Rows.count -1
    If lst.Contains(i) Then
        sheet.Rows(i).height = 0

    End If
    sheet.Rows(i).height = v
Next
book.Save(fl)

 

运行以后错误提示如下,请教诸位问题所在。

 


此主题相关图片如下:aaaa.png
按此在新窗口浏览图片

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


加好友 发短信
等级:贵宾 帖子:35433 积分:178524 威望:0 精华:3 注册:2013/3/30 16:36:00
  发帖心情 Post By:2013/9/18 10:44:00 [只看该作者]

有空值

你调试分析一下! 建议您用这个方法:
http://www.foxtable.com/help/topics/1485.htm
看看是哪里是空值


 回到顶部