以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  [求助]如何让excel报表完整显示?  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=189404)

--  作者:老鼠
--  发布时间:2023/11/30 10:45:00
--  [求助]如何让excel报表完整显示?
如何让Excel报表,根据窗口大小自动调整适应窗口大小,完整显示Excel报表内容。

图片点击可在新窗口打开查看此主题相关图片如下:无标题.jpg
图片点击可在新窗口打开查看
而不是像上图一样要拉流动条才能看到所有内容。
[此贴子已经被作者于2023/11/30 10:52:27编辑过]

--  作者:有点蓝
--  发布时间:2023/11/30 10:52:00
--  
什么窗口?如果是指把execl文件放到浏览器控件里显示,这个没有办法控制的
[此贴子已经被作者于2023/11/30 10:52:59编辑过]

--  作者:老鼠
--  发布时间:2023/11/30 10:54:00
--  
模式或者独立窗口
--  作者:老鼠
--  发布时间:2023/11/30 10:55:00
--  
在窗口显示Excel报表

如果还没有接触过窗口设计,可以暂时忽略本节的内容。

在默认情况下,Foxtable会直接启动Excel来显示生成的Excel报表。

借助WebBrowser控件,你可以在窗口中显示生成的Excel报表。

要在WebBrowser显示Excel报表,必须将生成的Excel报表保存为网页,有两个方法可以完成这个任务:

SaveToHTML(FileName)
用于将Excel报表保存为常规的HTML网页文件,会在FileName所在目录下自动生成一个子目录,用于存储网页所包含的附属文件。
  
SaveToMHT(FileName)
用于将Excel报表保存为一个MHTML(单一网页)文件,所有网页内容(包括图片、代码、样式等)都存储这个文件中。

SaveToHTML生成的是常规的HTML文件文件,兼容性好,但会生成多个文件。

SaveToMHT只生成一个文件,使用更方便,但是并非所有的浏览器支持MHTML文件,兼容性差一些。

不过WebBrowser控件可以完美地显示MHTML文件,所以在窗口显示Excel报表时,通常使用SaveToMHT方法。

示例

新建一个窗口(建议使用模式窗口或独立窗口),在窗口中加入一个WebBrowser控件,窗口的AfterLoad事件代码设置为:

Dim tmp As String  = ProjectPath & "Attachments\\资料卡.xls" 
Dim mht As String = ProjectPath & "Reports\\资料卡.mhtml"
Dim rpt As New XLS.Book(tmp) 
rpt.Build()
rpt.Sheets(0).Rows(0).Visible = False \'隐藏第一个空行
rpt.SaveToMHT(mht)
e.Form.Controls("WebBrowser1").Address = mht

这样一打开窗口,就会自动在窗口的WebBrowser控件显示生成的Excel报表。

--  作者:有点蓝
--  发布时间:2023/11/30 10:58:00
--  
没有办法控制