LinqToExcel有时导致IErrorInfo.GetDescription失败,并且E_FAIL(0x80004005)

有时,在运行下面的代码时,会导致IErrorInfo.GetDescription failed with E_FAIL(0x80004005)在调用excelFile.WorksheetNoHeader(0) IErrorInfo.GetDescription failed with E_FAIL(0x80004005)的错误。

它似乎不依赖于excel文件,一个文件可以一次读取,下一次不可读取。

任何想法可能是什么原因?

  Public Overrides Function GetImportDataAsDataTable() As DataTable Dim dataTable = New DataTable dataTable.BeginLoadData() Try Dim excelFile = New ExcelQueryFactory(FileFullPath) For Each importDataRow In excelFile.WorksheetNoHeader(0) If dataTable.Columns.Count = 0 Then For i = 1 To importDataRow.Count dataTable.Columns.Add(New DataColumn()) Next End If Dim dataRow = dataTable.NewRow dataRow.ItemArray = importDataRow.ToArray dataTable.Rows.Add(dataRow) Next Finally dataTable.EndLoadData() End Try Return dataTable End Function 

这是一个OleDb错误。

它看起来像一个保留的sql字被使用。 看看这篇文章的更多信息: http : //forums.asp.net/t/1225443.aspx/1