Foxtable(狐表)用户栏目专家坐堂 → [求助]关于EXCEL报表自动换行及根据长度换页


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

主题:[求助]关于EXCEL报表自动换行及根据长度换页

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


加好友 发短信
等级:一尾狐 帖子:485 积分:4075 威望:0 精华:0 注册:2015/12/16 8:22:00
[求助]关于EXCEL报表自动换行及根据长度换页  发帖心情 Post By:2016/3/25 16:48:00 [只看该作者]


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


如上图,因为在数据的长度并不一样,希望在生成excel格式时候:
1.若超过规定格子宽度的能自动换行;
2.若换行之后,格子高度能自动调节,但只是针对此选中的细节区,不希望这个报表都自动调节格子的高度;
3.因一张A4纸的长度有限制,希望到细节区的表格长度超过一定数的时候能自动换页,而不是根据表格的列来自动换行;

请问应该如何处理,是在报表中设置还是在生成报表中代码进行增加;

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

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


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

Dim Book As New XLS.Book(ProjectPath & "Attachments\Greport.xls")
Dim fl As String = ProjectPath & "Reports\Greport.xls"
Book.Build() '生成细节区
Book.Save(fl) '保存工作簿

Dim App As New MSExcel.Application
Dim Wb As MSExcel.WorkBook = App.WorkBooks.Open(fl)
Dim Ws As MSExcel.WorkSheet = Wb.WorkSheets(1)
Dim Rg As MSExcel.Range = Ws.Cells
Rg.WrapText = True
'Rg.EntireColumn.AutoFit   '自动调整列宽
Rg.EntireRow.AutoFit  '自动调整行高
App.Visible = True


 


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


加好友 发短信
等级:一尾狐 帖子:485 积分:4075 威望:0 精华:0 注册:2015/12/16 8:22:00
  发帖心情 Post By:2016/3/25 17:15:00 [只看该作者]


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

1.这个我之前在论坛已经找到过,设置之后整个报表格式高和行都会自动调整,有没有针对细节区的部分,不要全部;
2.另外黄色标识的部分还是不会自动换行;

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


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

你可以这样做。这句代码去掉 Rg.WrapText = True

 

然后,你在细节区那里,设置单元格格式->勾选自动换行。


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


加好友 发短信
等级:一尾狐 帖子:485 积分:4075 威望:0 精华:0 注册:2015/12/16 8:22:00
  发帖心情 Post By:2016/3/25 17:22:00 [只看该作者]

好的,另外请问如何跟进表格的高度自动换页的,而不是根据行数来换页;

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


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

你要重复打印表头?设置一下

 

    Ws.PageSetup.PrintTitleRows = Ws.Rows(5:8).Address '打印行标题(在每一页的顶部重复出现)


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


加好友 发短信
等级:幼狐 帖子:98 积分:1074 威望:0 精华:0 注册:2017/4/4 14:19:00
  发帖心情 Post By:2018/1/25 20:37:00 [只看该作者]

能不能用wps打开?

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


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

以下是引用超古伯在2018/1/25 20:37:00的发言:
能不能用wps打开?

 

尽量用ms office,不太兼容wps。

 

你可以自行测试能否正常使用。


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


加好友 发短信
等级:幼狐 帖子:98 积分:1074 威望:0 精华:0 注册:2017/4/4 14:19:00
  发帖心情 Post By:2018/1/26 2:25:00 [只看该作者]

确实不太正常,比如wps里面合并单元格后细节区死活不会自动换行~
但是ms office界面太不友好了,只能用老师的代码save,quit以后再用New Process打开~
曲折~


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


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

以下是引用超古伯在2018/1/26 2:25:00的发言:
确实不太正常,比如wps里面合并单元格后细节区死活不会自动换行~
但是ms office界面太不友好了,只能用老师的代码save,quit以后再用New Process打开~
曲折~

 

用楼上的代码autofit处理也不行?


 回到顶部