以文本方式查看主题

-  Foxtable(狐表)  (http://www.foxtable.com/bbs/index.asp)
--  专家坐堂  (http://www.foxtable.com/bbs/list.asp?boardid=2)
----  Excel读入异常  (http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&id=60425)

--  作者:wangxingwu
--  发布时间:2014/11/24 17:43:00
--  Excel读入异常
.NET Framework 版本:2.0.50727.5466
Foxtable 版本:2014.10.23.1
错误所在事件:窗口,窗口4,Button1,Click
详细错误信息:
异常来自 HRESULT:0x800A01A8


--  作者:有点甜
--  发布时间:2014/11/24 17:44:00
--  
 贴出代码
--  作者:wangxingwu
--  发布时间:2014/11/24 17:53:00
--  
在关闭Excel的时候报错
而且不知道为什么一旦执行就没有办法使用本窗体了,进程还是存在,不知道我描述的是否正确
就是感觉不能关闭Excel
希望您能帮我看看怎么读取完然后关闭Excel

DataTables("Tname").DataRows.Clear()
Dim App As New MSExcel.Application
App.Visible = True
Dim Wb As MSExcel.Workbook = App.WorkBooks.Open("D:\\Product.xlsx")
Dim ws As MSExcel.WorkSheet = Wb.WorkSheets("Sheet2")
Dim rg As MSExcel.Range
Dim Nindex As Integer
Dim str As String

Nindex =1
Dim dr As DataRow
Do 
str  = ws.Range("a" & cstr(Nindex)).value
If str  Is Nothing  Or str  ="" Then
Exit Do
End If
 dr = DataTables("Tname").AddNew()
 dr("第一列") = str  
Nindex = Nindex +1
Loop
DataTables.save()
App.Close()
[此贴子已经被作者于2014-11-24 17:54:11编辑过]

--  作者:wangxingwu
--  发布时间:2014/11/24 17:56:00
--  
在关闭Excel的时候报错
而且不知道为什么一旦执行就没有办法使用本窗体了,进程还是存在,不知道我描述的是否正确
就是感觉不能关闭Excel
希望您能帮我看看怎么读取完然后关闭Excel

DataTables("Tname").DataRows.Clear()
Dim App As New MSExcel.Application
App.Visible = True
Dim Wb As MSExcel.Workbook = App.WorkBooks.Open("D:\\Product.xlsx")
Dim ws As MSExcel.WorkSheet = Wb.WorkSheets("Sheet2")
Dim rg As MSExcel.Range
Dim Nindex As Integer
Dim str As String

Nindex =1
Dim dr As DataRow
Do 
str  = ws.Range("a" & cstr(Nindex)).value
If str  Is Nothing  Or str  ="" Then
Exit Do
End If
 dr = DataTables("Tname").AddNew()
 dr("第一列") = str  
Nindex = Nindex +1
Loop
DataTables.save()
App.Close()


--  作者:有点甜
--  发布时间:2014/11/24 17:57:00
--  

DataTables("Tname").DataRows.Clear()
Dim App As New MSExcel.Application
Dim Wb As MSExcel.Workbook = App.WorkBooks.Open("D:\\Product.xlsx")
Dim ws As MSExcel.WorkSheet = Wb.WorkSheets("Sheet2")
Dim rg As MSExcel.Range
Dim Nindex As Integer
Dim str As String

Nindex =1
Dim dr As DataRow
Do
    str  = ws.Cells(1, cstr(Nindex)).Text
    If str  Is Nothing  Or str  ="" Then
        Exit Do
    End If
    dr = DataTables("Tname").AddNew()
    dr("第一列") = str
    Nindex = Nindex +1
Loop
DataTables.save()
App.Close()


--  作者:wangxingwu
--  发布时间:2014/11/24 18:01:00
--  
未找到类型“ApplicationClass”的公共成员“Close”。
--  作者:有点甜
--  发布时间:2014/11/24 18:03:00
--  
App.quit
--  作者:wangxingwu
--  发布时间:2014/11/24 18:07:00
--  
现在问题是已关闭就报错郁闷啊,而且需要到任务管理器里面去关闭进程
DataTables("Tname").DataRows.Clear()
Dim App As New MSExcel.Application
Dim Wb As MSExcel.Workbook = App.WorkBooks.Open("D:\\Product.xlsx")
Dim ws As MSExcel.WorkSheet = Wb.WorkSheets("Sheet2")
Dim rg As MSExcel.Range
Dim Nindex As Integer
Dim str As String
Nindex =1
Dim dr As DataRow
Do
    str  = ws.Cells(Nindex,1 ).Text
    If str  Is Nothing  Or str  ="" Then
        Exit Do
    End If
    dr = DataTables("Tname").AddNew()
    dr("第一列") = str
    Nindex = Nindex +1
Loop
DataTables.save()

App.quit

--  作者:有点甜
--  发布时间:2014/11/24 19:05:00
--  
 你先把所有的 excel.exe 进程去掉,然后再测试