Foxtable(狐表)用户栏目专家坐堂 → WordReport批量导出单个文件,程序卡死


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

主题:WordReport批量导出单个文件,程序卡死

帅哥,在线噢!
有点蓝
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:110597 积分:562881 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2019/6/29 11:35:00 [显示全部帖子]

程序运行过程中肯定会属于假死状态。到Reports目录看看是不是有文件一直在输出?

我测试输出100个文档都可以的。

 回到顶部
帅哥,在线噢!
有点蓝
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:110597 积分:562881 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2019/6/29 11:52:00 [显示全部帖子]

试试异步输出:http://www.foxtable.com/mobilehelp/scr/3269.htm

电脑会不会自动休眠?

 回到顶部
帅哥,在线噢!
有点蓝
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:110597 积分:562881 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2019/6/29 15:56:00 [显示全部帖子]

试试

函数:msds

dim t as table = args(0)
dim r as row = args(1)
dim tm as string = args(2)
dim fl as string = args(3)
Dim wrt As New WordReport(t,tm,fl) '定义一个WordReport
    wrt.BuildOne(r)
    wrt.Replace("^13","^p")
    wrt.Quit() '退出

执行:

Dim tm As String  = ProjectPath & "Attachments\MSDS.docx" '指定模板文件
For Each dr As Row In Tables("MSDS").Rows '逐行生成报表
    Dim st As String =  dr("ICSC编号") & "-" & dr("名称") & "-" & "国际化学品安全卡MSDS.docx"
    st = st.Replace(" ","")
    dr("文件名") = st
    Dim fl As String = ProjectPath & "Reports\"& st   '指定目标文件
    If FileSys.FileExists(fl) = false then
        Functions.AsyncExecute("msds",Tables("MSDS"),dr,tm,fl)    
    End If
Next
DataTables("MSDS").Save()

 回到顶部