以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  [求助]关于EXCEL报表自动换行及根据长度换页  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=82842)

--  作者:benwong2013
--  发布时间:2016/3/25 16:48:00
--  [求助]关于EXCEL报表自动换行及根据长度换页

图片点击可在新窗口打开查看此主题相关图片如下: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()

--  作者:大红袍
--  发布时间: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
--  发布时间:2016/3/25 17:15:00
--  

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

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

--  作者:大红袍
--  发布时间:2016/3/25 17:21:00
--  

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

 

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


--  作者:benwong2013
--  发布时间:2016/3/25 17:22:00
--  
好的,另外请问如何跟进表格的高度自动换页的,而不是根据行数来换页;
--  作者:大红袍
--  发布时间:2016/3/25 18:02:00
--  

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

 

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


--  作者:超古伯
--  发布时间:2018/1/25 20:37:00
--  
能不能用wps打开?
--  作者:有点甜
--  发布时间:2018/1/25 21:09:00
--  
以下是引用超古伯在2018/1/25 20:37:00的发言:
能不能用wps打开?

 

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

 

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


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


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

 

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