Foxtable(狐表)用户栏目专家坐堂 → [求助] EXCEL 模板导出问题


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

主题:[求助] EXCEL 模板导出问题

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


加好友 发短信
等级:童狐 帖子:286 积分:2345 威望:0 精华:0 注册:2013/8/30 3:37:00
[求助] EXCEL 模板导出问题  发帖心情 Post By:2015/8/4 9:46:00 [只看该作者]

1. 6000条数据导出时,时间太长,约2~3分,求解决!
2.导出运行一段时间后,出现以下错误,见附件


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


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


加好友 发短信
等级:童狐 帖子:286 积分:2345 威望:0 精华:0 注册:2013/8/30 3:37:00
  发帖心情 Post By:2015/8/4 9:48:00 [只看该作者]

导出代码:Dim pr As Integer = Tables("检查").Rows.Count


Dim dlg As New SaveFileDialog '定义一个新的OpenFileDialog
dlg.Filter= "Excel文件|*.xls" '设置筛选器
If dlg.ShowDialog = DialogResult.Ok Then '如果用户单击了确定按钮
e.Form.Controls("Label1").Text = "正在导出 ... ... ,请稍后..."
Application.DoEvents()
    Dim Book As New  XLS.Book(ProjectPath &  "Attachments\导出模版.xls")
    Dim fl As  String = dlg.FileName
    Dim Sheet As XLS.Sheet = Book.Sheets(0)
    Sheet(0,0).Value = "<" & Tables("检查").Filter & ">" '写入打印条件
    Book.Build() '生成细节区
    Book.Save(fl) '保存工作簿

e.Form.Controls("Label1").Text = "已经完成"
    
    If MessageBox.Show("成功导出数据"& pr &"条,是否打开数据?","确认",MessageBoxButtons.OKCancel,MessageBoxIcon.Question) =DialogResult.OK Then
        
        Dim Proc As New Process
        Proc.File = fl
        Proc.Start()
e.Form.Controls("Label1").Text = ""
    Else
      'e.form().Close
        Syscmd.Table.ToggleSortAndFilter()
e.Form.Controls("Label1").Text = ""
    End If
End If

选择时段时出现,上述第2个问题

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


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2015/8/4 10:00:00 [只看该作者]

导出代码没什么问题,但这句,肯定不能在0,0的位置设置条件啊。

 

设置条件的位置,参考 http://www.foxtable.com/help/topics/0201.htm

 

Sheet(0,0).Value = "<" & Tables("检查").Filter & ">"


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


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2015/8/4 10:01:00 [只看该作者]

导出,时间长的问题,做个例子看看,代码是没什么问题的。

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


加好友 发短信
等级:童狐 帖子:286 积分:2345 威望:0 精华:0 注册:2013/8/30 3:37:00
  发帖心情 Post By:2015/8/4 10:31:00 [只看该作者]

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:新建文件夹 (2).rar


请大红袍老师看看

Sheet(0,0).Value = "<" & Tables("检查").Filter & ">"

改成

Sheet(2,77).Value = "<" & Tables("检查").Filter & ">"

也不可,不知哪里错了
[此贴子已经被作者于2015/8/4 10:31:44编辑过]

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


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2015/8/4 10:47:00 [只看该作者]

慢的问题没办法解决,因为这个excel报表的弊病。
 
 

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:检查.zip


 
如果想快,就用saveExcel或者Exporter
 
http://www.foxtable.com/help/topics/0559.htm

 
http://www.foxtable.com/help/topics/0683.htm


 

[此贴子已经被作者于2015/8/4 10:47:13编辑过]

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


加好友 发短信
等级:童狐 帖子:286 积分:2345 威望:0 精华:0 注册:2013/8/30 3:37:00
  发帖心情 Post By:2015/8/4 11:05:00 [只看该作者]

  本来使用的是Exporter,后来为了将逻辑列中的True 替换成“*”,False 替换成“ ”。才使用EXCEL模板的。

有无它法,将逻辑列中的True 替换成“*”,False 替换成“ ”。

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


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2015/8/4 11:09:00 [只看该作者]

加表达式列,导出的时候,导出表达式列。

 

动态添加表达式列。

 

http://www.foxtable.com/help/topics/1428.htm

 


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


加好友 发短信
等级:童狐 帖子:286 积分:2345 威望:0 精华:0 注册:2013/8/30 3:37:00
  发帖心情 Post By:2015/8/4 11:16:00 [只看该作者]

谢谢,大红袍老师! 我再学习一下动态表达式。

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


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2015/8/4 11:17:00 [只看该作者]

 可以动态,但你的情况,直接添加固定的表达式列,是最好的选择。你把表达式列隐藏即可。

 回到顶部
总数 12 1 2 下一页