Foxtable(狐表)用户栏目专家坐堂 → 关于SaveFileDialog寻求帮助


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

主题:关于SaveFileDialog寻求帮助

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


加好友 发短信
等级:五尾狐 帖子:1104 积分:8956 威望:0 精华:0 注册:2014/10/25 11:24:00
关于SaveFileDialog寻求帮助  发帖心情 Post By:2018/1/8 8:40:00 [只看该作者]

以下代码之前一直执行的正常,但这个功能一直不怎么用,在今天执行了这个代码时,弹出了个提示框,大意的内容是:由于微软的BUG,此次导出将变为xlsx格式。导出后整个程序就自动关闭了

我有二个疑问
1、是不是在最近的版本更新中有关于这个SaveFileDialog的更改,因为这段代码已经有一年半了,之前虽然用的少但没出现过问题,另下面代码如何改才不会出错。
2、其实我一直想知道如何把EXCEL文件导出成xlsx格式,用SaveExcel一样也是xls格式

If e.Form.Controls("Table1").Visible = True Then
    Dim dlg As New SaveFileDialog '定义一个新的SaveFileDialog
    dlg.Filter= "Excel文件|*.xls" '设置筛选器
    If dlg.ShowDialog = DialogResult.Ok Then '如果用户单击了确定按钮
        Dim ex As New Exporter
        ex.Format = "Excel" '导出格式为Excel
        ex.SourceTableName = Tables(e.Form.Name & "_Table1").Name '指定导出表
        ex.FilePath = dlg.FileName  '指定目标文件
        ex.NewTableName = "物料平衡查询" '指定文件名,注意无须扩展名
        ex.Export() '开始导出
    End If
Else
    MessageBox.Show("查询后才可以进行导出!","提示",MessageBoxButtons.OK,MessageBoxIcon.Information)
End If
[此贴子已经被作者于2018/1/8 8:41:06编辑过]

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2018/1/8 8:54:00 [只看该作者]

试试
 
If e.Form.Controls("Table1").Visible = True Then
    Dim dlg As New SaveFileDialog '定义一个新的SaveFileDialog
    dlg.Filter= "Excel文件|*.xlsx" '设置筛选器
    If dlg.ShowDialog = DialogResult.Ok Then '如果用户单击了确定按钮
        Dim ex As New Exporter
        ex.Format = "Excel2007" '导出格式为Excel
        ex.SourceTableName = Tables(e.Form.Name & "_Table1").Name '指定导出表
        ex.FilePath = dlg.FileName  '指定目标文件
        ex.NewTableName = "物料平衡查询" '指定文件名,注意无须扩展名
        ex.Export() '开始导出
    End If
Else
    MessageBox.Show("查询后才可以进行导出!","提示",MessageBoxButtons.OK,MessageBoxIcon.Information)
End If

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


加好友 发短信
等级:五尾狐 帖子:1104 积分:8956 威望:0 精华:0 注册:2014/10/25 11:24:00
  发帖心情 Post By:2018/1/8 9:12:00 [只看该作者]

不报错了,但导出后还是程序自动关闭,并且我发现用这个SaveFileDialog 导出的报表不包含Table1表中的用以下代表增加的字段:
If DataTables(e.Form.Name & "_Table1").datacols.Contains("物料总量") Then
Else
    DataTables(e.Form.Name & "_Table1").DataCols.Add("物料总量", Gettype(Double))
End If


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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2018/1/8 9:54:00 [只看该作者]

表达式列、临时列,你用exporter导出,都是不包含的。

 

你可以改成用saveExcel导出 http://www.foxtable.com/webhelp/scr/0559.htm

 


 回到顶部