以文本方式查看主题
- Foxtable(狐表) (http://www.foxtable.com/bbs/index.asp)
-- 专家坐堂 (http://www.foxtable.com/bbs/list.asp?boardid=2)
---- [求助]关于EXCEL报表自动换行及根据长度换页 (http://www.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处理也不行?
|