Foxtable(狐表)用户栏目专家坐堂 → 处理EXCEL


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

主题:处理EXCEL

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


加好友 发短信
等级:超级版主 帖子:107304 积分:545781 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2021/5/24 16:30:00 [只看该作者]

我也看不出什么原因了。可能是office的com组件多线程本身的问题吧

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


加好友 发短信
等级:五尾狐 帖子:1107 积分:10574 威望:0 精华:0 注册:2014/2/19 16:32:00
  发帖心情 Post By:2021/5/24 16:36:00 [只看该作者]


1、那如何判断所有异步都执行完了呢,我好给程序一个提示?
2、有必要在异步执行完用e.Handled =true 的方式关闭信道吗?

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


加好友 发短信
等级:超级版主 帖子:107304 积分:545781 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2021/5/24 16:42:00 [只看该作者]

1、开始异步前不是获取了文件列表吗,那么就可以获取文件数量。在每一个异步函数执行完毕时使用同步函数给一个public变量,赋值,然后判断public变量值是不是等于文件数量,如果是就表示执行完

2、不需要,那是web服务端才用得到的,一般异步函数没有用

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


加好友 发短信
等级:五尾狐 帖子:1107 积分:10574 威望:0 精华:0 注册:2014/2/19 16:32:00
  发帖心情 Post By:2021/5/25 14:45:00 [只看该作者]

判断在哪个位置判断能同时读取两个变量进行比较?

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


加好友 发短信
等级:超级版主 帖子:107304 积分:545781 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2021/5/25 15:11:00 [只看该作者]

“同步函数”里面

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


加好友 发短信
等级:五尾狐 帖子:1107 积分:10574 威望:0 精华:0 注册:2014/2/19 16:32:00
  发帖心情 Post By:2021/5/25 16:57:00 [只看该作者]

收到,问题解决。

执行APP.QUIT后进程里还有EXCEL在,至少会有一个没有关闭。使用了下面代码还是有一个没办法完全关闭。目前就没有好点的办法吗?

System.Runtime.InteropServices.Marshal.ReleaseComObject(app)

If app IsNot Nothing Then app = Nothing

GC.WaitForPendingFinalizers()

GC.Collect()

GC.WaitForPendingFinalizers()

GC.Collect()


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


加好友 发短信
等级:超级版主 帖子:107304 积分:545781 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2021/5/25 17:11:00 [只看该作者]

试试在try里quit

Dim App As New MSExcel.Application
try
    Dim Wb As MSExcel.WorkBook = App.WorkBooks.Open("D:\Test.xls")
    Dim Ws As MSExcel.WorkSheet = Wb.WorkSheets(1)'指定工作表
    其它处理
catch ex As Exception

finally
    App.quit
End try

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


加好友 发短信
等级:五尾狐 帖子:1107 积分:10574 威望:0 精华:0 注册:2014/2/19 16:32:00
  发帖心情 Post By:2021/5/26 14:46:00 [只看该作者]

还是一样的效果。最后总会有一个关不掉,我用APP.VISIBLE = TRUE来观察,没有出错的EXCEL都正常关闭了,可就偏偏进程里还有一个EXCEL进程。用KILL倒是可以结束掉,但属于非正常关闭,再打开EXCEL的时候会有错误修复提示。


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


加好友 发短信
等级:超级版主 帖子:107304 积分:545781 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2021/5/26 15:03:00 [只看该作者]

我也只能使用【office的com组件多线程本身的问题】来搪塞了图片点击可在新窗口打开查看

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


加好友 发短信
等级:五尾狐 帖子:1107 积分:10574 威望:0 精华:0 注册:2014/2/19 16:32:00
  发帖心情 Post By:2021/5/26 15:36:00 [只看该作者]

图片点击可在新窗口打开查看我也只能这样放弃了,不处理了。哈哈,谢谢老师。

 回到顶部
总数 108 1.. 上一页 2 3 4 5 6 7 8 9 10 11 下一页