Foxtable(狐表)用户栏目专家坐堂 → [求助]execl模板的序号与合并单元格


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

主题:[求助]execl模板的序号与合并单元格

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


加好友 发短信
等级:五尾狐 帖子:1141 积分:11272 威望:0 精华:0 注册:2017/9/26 16:30:00
[求助]execl模板的序号与合并单元格  发帖心情 Post By:2018/11/12 18:18:00 [只看该作者]

请教老师,怎样设置模板,才能将导出的execl文件如图合并单元格([序号]、[法院]跟随[案号]合并单元格),和自动编号:

图片点击可在新窗口打开查看此主题相关图片如下:image 1.png
图片点击可在新窗口打开查看

execl模板是这样设置的:

图片点击可在新窗口打开查看此主题相关图片如下:image 2.jpg
图片点击可在新窗口打开查看

模板文件:
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:出庭汇总.xls

谢谢!





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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2018/11/12 19:21:00 [只看该作者]

模板那里,序号、法院 列,改成变量 [!序号] [!法院]

 

编写报表事件beforeBuild

 

vars("序号") = 0

vars("法院") = ""

 

编写builddetail事件

 

if vars("序号") = 0 then

    vars("序号") = 1

    vars("法院") = e.datarow("法院")

    vars("上一行") = e.datarow

Else

    If vars("上一行")("案号") <> e.datarow("案号") Then

        vars("序号") += 1

        vars("法院") = e.datarow("法院")

        vars("上一行") = e.datarow

    End If

End If


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


加好友 发短信
等级:五尾狐 帖子:1141 积分:11272 威望:0 精华:0 注册:2017/9/26 16:30:00
  发帖心情 Post By:2018/11/12 22:03:00 [只看该作者]

按照老师的代码,改写了模板、设置了报表事件、添加了报表管理,但是没有成功。

图片点击可在新窗口打开查看此主题相关图片如下:image 2.jpg
图片点击可在新窗口打开查看


另外,我把上述代码写进按钮里,行不行?
代码如下:
Dim Book As New XLS.Book(ProjectPath & "Attachments\出庭汇总.xls")
Dim fl As String = ProjectPath & "Reports\出庭汇总.xls"

'编写报表事件beforeBuild
vars("序号") = 0
vars("法院") = ""

'编写builddetail事件
If vars("序号") = 0 Then
    vars("序号") = 1
    vars("法院") = DataTables("出庭汇总").DataRow("法院")
    vars("上一行") = DataTables("出庭汇总").DataRow
Else
    If vars("上一行")("案号") <> DataTables("出庭汇总").DataRow("案号") Then
        vars("序号") += 1
        vars("法院") = DataTables("出庭汇总").DataRow("法院")
        vars("上一行") = DataTables("出庭汇总").DataRow
    End If
End If

Book.Build() '生成细节区

Book.Save(fl) '保存工作簿
Dim Proc As New Process '打开工作簿
Proc.File = fl
Proc.Start()

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


加好友 发短信
等级:五尾狐 帖子:1141 积分:11272 威望:0 精华:0 注册:2017/9/26 16:30:00
  发帖心情 Post By:2018/11/12 22:22:00 [只看该作者]

实例:
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:2018-11-12出庭测试.rar

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


加好友 发短信
等级:超级版主 帖子:110592 积分:562856 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2018/11/12 22:25:00 [只看该作者]

[!序号]

中括号,不是尖括号

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


加好友 发短信
等级:超级版主 帖子:110592 积分:562856 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2018/11/12 22:35:00 [只看该作者]


图片点击可在新窗口打开查看此主题相关图片如下:1.png
图片点击可在新窗口打开查看

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


加好友 发短信
等级:五尾狐 帖子:1141 积分:11272 威望:0 精华:0 注册:2017/9/26 16:30:00
  发帖心情 Post By:2018/11/12 22:42:00 [只看该作者]

哦,谢谢蓝老师!

用菜单生成报表还有点问题,就是[法院]这一列没有跟随[序号]和[案号]同步合并单元格。
另外,要是把上述过程写入一个按钮中,代码怎样修改一下呢?

按钮代码如下:
Dim Book As New XLS.Book(ProjectPath & "Attachments\出庭汇总.xls")
Dim fl As String = ProjectPath & "Reports\出庭汇总.xls"

Book.Build() '生成细节区

Book.Save(fl) '保存工作簿
Dim Proc As New Process '打开工作簿
Proc.File = fl
Proc.Start()


此主题相关图片如下:image 3.jpg
按此在新窗口浏览图片

都解决了,谢谢两位老师!上图在报表管理中将自由合并设为false就行了。
[此贴子已经被作者于2018/11/12 23:29:21编辑过]

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


加好友 发短信
等级:超级版主 帖子:110592 积分:562856 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2018/11/12 22:49:00 [只看该作者]

报表事件不变,按钮事件:


按钮代码如下:
Dim Book As New XLS.Book(ProjectPath & "Attachments\出庭汇总.xls")
Dim fl As String = ProjectPath & "Reports\出庭汇总.xls"

Book.Build() '生成细节区

Book.Save(fl) '保存工作簿
Dim Proc As New Process '打开工作簿
Proc.File = fl
Proc.Start()

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2018/11/13 9:27:00 [只看该作者]

自由合并设置成false即可

 

Dim Book As New XLS.Book(ProjectPath & "Attachments\出庭汇总.xls")
Dim fl As String = ProjectPath & "Reports\出庭汇总.xls"
book.MergeFree = False
Book.Build() '生成细节区
Book.Save(fl) '保存工作簿
Dim Proc As New Process '打开工作簿
Proc.File = fl
Proc.Start()


 回到顶部
帅哥哟,离线,有人找我吗?
天一生水
  10楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:五尾狐 帖子:1141 积分:11272 威望:0 精华:0 注册:2017/9/26 16:30:00
  发帖心情 Post By:2018/11/16 10:18:00 [只看该作者]

甜老师好!

还是有点问题:

当一个数据表存在多个模板时,且只有其中一个模板需要启动报表事件,当写入其他模板时就会报错。

能不能在事件里加上判断,或者把报表事件写入到特定按钮里呢?


 回到顶部
总数 12 1 2 下一页