Foxtable(狐表)用户栏目专家坐堂 → 批量生成EXCEL报表报错!是什么原因?


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

主题:批量生成EXCEL报表报错!是什么原因?

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


加好友 发短信
等级:三尾狐 帖子:731 积分:6493 威望:0 精华:0 注册:2011/6/26 11:45:00
批量生成EXCEL报表报错!是什么原因?  发帖心情 Post By:2016/12/6 16:43:00 [只看该作者]

Dim nams As List(Of String)
nams = DataTables("cw1").GetValues("领料部门") '取进度表里不重复的部门名称

Dim App As New MSExcel.Application '定义EXCEL为对像'
Dim bname As String = "c:\data\总报表.xls"
Dim Wb As MSExcel.WorkBook = App.WorkBooks.Add  '创建EXCEL工作薄'
Wb.WorkSheets(3).delete '删除sheet3'
Wb.WorkSheets(2).delete '删除sheet2
Dim ws As MSExcel.WorkSheet = Wb.WorkSheets(1) '定义工作表sheet1
For Each nam As String In nams '历遍所有的部门名称
    If nam <> "" Then '----如果部门名称不等于空
        Dim Book As New XLS.Book (ProjectPath & "Attachments\内部厂.xls")'定义一个Excel工作簿'
        Dim sheet As XLS.Sheet = Book.Sheets(0) '引用工作簿的第一个工作表
        Tables("cw1").filter = "领料部门 = '" & nam & "'" '根据领料部门名称进行筛选'
        Book.Build() '建立工作薄'
        Dim fl As String = "c:\data\"& nam &".xls" 
        Book.Save(fl) '保存工作簿
        
        Dim Wb_temp As MSExcel.WorkBook = App.WorkBooks.Open(fl)
        Dim Ws_temp As MSExcel.WorkSheet = wb_temp.WorkSheets(1)
        Ws_temp.name = nam
        Ws_temp.Copy(System.Reflection.Missing.Value, ws)
        wb_temp.close(False, System.Reflection.Missing.Value, System.Reflection.Missing.Value)
    End If
Next
ws.delete
Wb.saveas(bname)
App.Quit



.NET Framework 版本:2.0.50727.3655
Foxtable 版本:2016.7.29.1
错误所在事件:窗口,送货明细导出,Button2,Click
详细错误信息:
服务器出现意外情况。 (异常来自 HRESULT:0x80010105 (RPC_E_SERVERFAULT))



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


加好友 发短信
等级:超级版主 帖子:13837 积分:69650 威望:0 精华:0 注册:2016/11/1 14:42:00
  发帖心情 Post By:2016/12/6 17:01:00 [只看该作者]

 我测试没问题,只是提示是否覆盖掉原来的xls文件。

 

 如果不想弹出提示,加上代码 app.DisplayAlerts = False


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


加好友 发短信
等级:三尾狐 帖子:731 积分:6493 威望:0 精华:0 注册:2011/6/26 11:45:00
  发帖心情 Post By:2016/12/6 17:08:00 [只看该作者]

奇怪了!我之前也是没有问题的!难到是EXCEL的问题?我再测试测试吧!

 回到顶部