Foxtable(狐表)用户栏目专家坐堂 → [求助]SaveHTM 取消了?


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

主题:[求助]SaveHTM 取消了?

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


加好友 发短信
等级:三尾狐 帖子:787 积分:6349 威望:0 精华:0 注册:2008/9/1 8:26:00
[求助]SaveHTM 取消了?  发帖心情 Post By:2013/1/7 11:05:00 [只看该作者]

如题

 


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

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


加好友 发短信 一级勋章
等级:狐仙 帖子:9879 积分:57640 威望:0 精华:15 注册:2008/9/1 9:45:00
  发帖心情 Post By:2013/1/7 11:06:00 [只看该作者]

保存报表

报表除打印之外,通过下面两个方法,还可以保存为htm或者pdf格式的文件。

  • SaveHTM
    将报表保存为HTM格式的文件。
     
  • SavePDF
    将报表保存为PDF格式的文件。

示例

Dim doc As New PrintDoc '定义一个新报表
Dim
rt As New prt.RenderTable '定义一个新表格
Dim
ColNames As String() = New String(){"客户","产品", "数量","单价","金额"}
Dim
drs As List(of DataRow) = DataTables("订单").Select("日期 = #" & Date.Today & "#")
For
c As Integer = 0 To ColNames.Length - 1 '逐列设置和填入内容
    rt.Cells(0,c).Text = ColNames(c) '列名作为标题
    For
r As Integer = 0 To drs.Count -1 '开始填入该列内容
       
rt.Cells(r + 1, c).Text = drs(r)(ColNames(c))
    Next
Next

rt.Style.Gridlines.All = New prt.Linedef(Color.Gray)
doc.Body.Children.Add(rt)
'将表格加入到报表
doc.SaveHtm(
"c:\data\test.htm")


帮助还有呀?


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


加好友 发短信
等级:三尾狐 帖子:787 积分:6349 威望:0 精华:0 注册:2008/9/1 8:26:00
  发帖心情 Post By:2013/1/7 11:15:00 [只看该作者]

我也看了帮助,按钮代码如下:

e.Form.Controls("Label3").text="导出中,请稍候..."
Dim Time,Time1 As Date
Time = Date.now
Application.Doevents

If FileSys.DirectoryExists("D:\My Documents\学生成绩") Then '目录存在
Else
    FileSys.CreateDirectory("D:\My Documents\学生成绩") '创建目录
End If

Tables("成绩排名").SaveHTM( "D:\My Documents\学生成绩\" & e.Form.Controls("ComboBox2").value & "班" & e.Form.Controls("ComboBox1").value & "期" & "成绩排名.htm" )
Tables("成绩排名").Redraw = True

Time1 = Date.Now
e.Form.Controls("Label3").text="导出成功!耗时 " & (Time1-Time).TotalSeconds & " 秒"

 

以前是可以的,是代码有问题吗?

[此贴子已经被作者于2013-1-7 11:15:40编辑过]

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


加好友 发短信
等级:管理员 帖子:47497 积分:251403 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2013/1/7 11:17:00 [只看该作者]

Table没有了,专业报表还有

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


加好友 发短信
等级:三尾狐 帖子:787 积分:6349 威望:0 精华:0 注册:2008/9/1 8:26:00
  发帖心情 Post By:2013/1/7 11:20:00 [只看该作者]

可惜!这个功能是有用的

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


加好友 发短信
等级:三尾狐 帖子:787 积分:6349 威望:0 精华:0 注册:2008/9/1 8:26:00
  发帖心情 Post By:2013/1/7 12:07:00 [只看该作者]

变通一下

e.Form.Controls("Label3").text="导出中,请稍候..."
Dim Time,Time1 As Date
Time = Date.now
Application.Doevents

If FileSys.DirectoryExists("D:\My Documents\学生成绩") Then '目录存在
Else
    FileSys.CreateDirectory("D:\My Documents\学生成绩") '创建目录
End If

Dim doc As New PrintDoc '定义一个新报表
Dim rt As New prt.RenderTable '定义一个新表格
Dim ColNames As String() = New String(){"班级","姓名", "语文","数学","英语","物理","化学","生物","政治","地理","总分"}
Dim drs As List(of DataRow) = DataTables("成绩排名").Select(" 班级=" & e.Form.Controls("ComboBox2").value & "")
For c As Integer = 0 To ColNames.Length - 1 '逐列设置和填入内容
    rt.Cells(0,c).Text = ColNames(c) '列名作为标题
    For r As Integer = 0 To drs.Count -1 '开始填入该列内容
        rt.Cells(r + 1, c).Text = drs(r)(ColNames(c))
    Next
Next
rt.Style.Gridlines.All = New prt.Linedef(Color.Gray)
doc.Body.Children.Add(rt) '将表格加入到报表
doc.SaveHtm("D:\My Documents\学生成绩\" & e.Form.Controls("ComboBox2").value & "班" & e.Form.Controls("ComboBox1").value & "期" & "成绩排名.htm")

Tables("成绩排名").Redraw = True
Time1 = Date.Now
e.Form.Controls("Label3").text="导出成功!耗时 " & (Time1-Time).TotalSeconds & " 秒"


 回到顶部