2016-08-31 4 views
-1

Я работаю над небольшой задачей, которая делает не более, чем копирование данных из SQL-базы данных в Excel. Для одной рабочей книги я получаю сообщение об ошибке: HRESULT: 0x800A03EC Моя интуиция подсказывает, что в этой ячейке Excel пытается решить формулу из-за символов, которые он получает из базы данных. Как я могу преуспеть, чтобы решить формулу vb.net и сказать ему просто скопировать данные, которые он получает?Невозможно преуспеть, чтобы решить формулу над vb.net (Ошибка: HRESULT: 0x800A03EC)

Проблема должна быть здесь:

For Each dr In Table.Rows 
        rowIndex = rowIndex + 1 
        colIndex = 0 
        For Each dc In Table.Columns 
         colIndex += 1 
         '08/2016 MM Byte[] können nicht in Excel exportiert werden 
         If Not System.Type.GetType("System.Byte[]").Equals(dr(dc.ColumnName).GetType) Then 
          oWS.Cells(rowIndex + 1, colIndex) = dr(dc.ColumnName) 


         Else 
          oWS.Cells(rowIndex + 1, colIndex) = dr(dc.ColumnName).ToString 

         End If 

        Next 

приостановленных были бы оценены! Благодаря!

+0

Почему вы не положить ' '' перед данными? – theBugger

+0

Спасибо человеку, я тоже это понял, но я подумал, что это потому, что Excel делал расчеты, которые не должны. Убедившись, что это была огромная String с множеством персонажей, которые он пытался скопировать, я немного изменил код, и он сработал! Еще раз спасибо @theBugger –

+0

Хорошо для вас. Возможно, добавьте ответ, объясняющий, как вы решили – theBugger

ответ

0

Решаемые это ребята, просто сравните код выше и этот:

For Each dr In Table.Rows 
        rowIndex = rowIndex + 1 
        colIndex = 0 
        For Each dc In Table.Columns 
         colIndex += 1 

         If Not System.Type.GetType("System.Byte[]").Equals(dr(dc.ColumnName).GetType) Then 
          Try 
           oWS.Cells(rowIndex + 1, colIndex) = dr(dc.ColumnName) 
          Catch ex As Exception 
           If System.Type.GetType("System.String").Equals(dr(dc.ColumnName).GetType) Then 
            oWS.Cells(rowIndex + 1, colIndex) = """" + dr(dc.ColumnName) + """" 
           Else 
            'Exception konnte nicht aufgelöst werden, weiter werfen 
            Throw ex 
           End If 
          End Try 

         Else 
          oWS.Cells(rowIndex + 1, colIndex) = dr(dc.ColumnName).ToString 

         End If 

        Next 
       Next