以文本方式查看主题

-  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=57140)

--  作者:audience68
--  发布时间:2014/9/18 23:32:00
--  EXCEL报表行高自动调节的问题
设计的EXCEL报表模板,在模板设计中已经把行高设计成自动调整,单元格也设计成自动换行。但是在用该模板生成EXCEL报表时,行高无法根据列中的内容自动调整行高来显示全部内容,不知哪位大虾有好的建议和方法。谢谢了!

不知是否可以不需要代码而仅仅在报表模板中设置就可以解决?



--  作者:blackzhu
--  发布时间:2014/9/19 8:08:00
--  
需要代码的 我在论坛发过例子
--  作者:有点甜
--  发布时间:2014/9/19 9:05:00
--  

 需要用代码解决。

 

 生成报表以后,打开报表,设置如下代码

 

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


--  作者:audience68
--  发布时间:2014/9/19 10:36:00
--  
研究了二位高手的指导,还是不行,依葫芦画瓢总是不成,按照帅哥哟,离线,有人找我吗?blackzhu的例子,但我的这个单元格是CDEF四格单元格合并后的一个合并单元格,在参数Rg = Ws.Range("C10")中的C10该如何填写?(我的是C10,D10,E10,F10四格单元格合并成一个单元格)


也感谢有点甜的帮助,但你的代码我不知道该如何与生成的报表结合成一个代码,我的报表情况如下:"Attachments\\监造周报.xls")/"Reports\\监造周报.xls" ,不知能否帮我写一个比较完整的代码,谢谢了。

--  作者:有点甜
--  发布时间:2014/9/19 10:43:00
--  

 1、生成报表 http://www.foxtable.com/help/topics/1145.htm

 

 2、复制代码设置自动行高


--  作者:audience68
--  发布时间:2014/9/19 21:19:00
--  
请问有点甜,代码Dim Wb As MSExcel.WorkBook = App.WorkBooks.Open("D:\\Reports.xls")中的"D:\\Reports.xls"是什么意思,我需要按照什么路径来设置我的代码?
--  作者:audience68
--  发布时间:2014/9/19 21:39: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()

Dim App As New MSExcel.Application
Dim Wb As MSExcel.WorkBook = App.WorkBooks.Open("Reports\\监造周报.xls")

Dim Ws As MSExcel.WorkSheet = Wb.WorkSheets(1)
Dim Rg As MSExcel.Range = Ws.Cells
Rg.EntireColumn.AutoFit   \'自动调整列宽

Rg.EntireRow.AutoFit  \'自动调整行高

App.Visible = True


以上代码无法起到自动调整行高的目的,我怀疑是不是自动调整行高对合并单元格不起作用?还请高手指点


--  作者:audience68
--  发布时间:2014/9/19 21:41:00
--  
Dim Wb As MSExcel.WorkBook = App.WorkBooks.Open("Reports\\监造周报.xls")语句已经修改为Dim Wb As MSExcel.WorkBook = App.WorkBooks.Open(ProjectPath & "Reports\\监造周报.xls")了
--  作者:audience68
--  发布时间:2014/9/19 21:46:00
--  
经过测试EXCEL,发现对于合并的单元格,自动调节行高的功能不起作用图片点击可在新窗口打开查看
--  作者:audience68
--  发布时间:2014/11/24 17:59:00
--  
再次请教各位高手,我的备注内容较多,生成EXCEL报表时,内容突破了EXCEL规定的行高高限409,不知该如何处理,才能将全部内容显示出来?