Readdy Write  
0,00 €
Your View Money
Views: Count
Self 20% 0
Your Content 60% 0

Users by Links 0
u1*(Content+Views) 10% 0
Follow-Follower 0
s2*(Income) 5% 0

Count
Followers 0
Login Register as User

Excel C # Solved: Value The double type can not be implicitly converted to string.

25.10.2018 (👁7404)


 

 

Subject:

Reading Excel cells with C # on Cell.Value, Cell.Value2 and FormulaLocal

 

Problem:

Reading Excel cells does not make Value2 available and FormulaLocal generates an error

 

Error code and message

1) Cell.Value

Reading an Excel cell in C # with .Value or .Value2 generates an error

Reading with Excel.Cell.Value (-> Error)

var cell = ws.Cells[iRow + 1, iColumn] as Excel.Range;

String sValue = cell.Value;

 

Complete error message:

{System.Reflection.TargetInvocationException: Ein Aufrufziel hat einen Ausnahmefehler verursacht. ---> System.Runtime.InteropServices.COMException: Altes Format oder ungültige Typbibliothek. (Ausnahme von HRESULT: 0x80028018 (TYPE_E_INVDATAREAD))

 

2) Cell.Value2

Reading with Excel.Cell.Value2 (-> Error)

var cell = ws.Cells[iRow + 1, iColumn] as Excel.Range;

String sValue = cell.Value2;

 

Or when using .value2

error CS1061: 'object' does not contain a definition for 'Value2' and no extension method 'Value2' accepting a first argument of type 'object' could be found (are you missing a using directive or an assembly reference?)

 

 

 

Solution:

You have to read out the value from an Excel cell with Cell.Value2.ToString () with C #.

Unfortunately, Intellisense is not supported here.

Microsoft.Office.Interop.Excel.Range cell = usedRange.Cells[iRow, iColumn] as Range;

String sValue = cell.Value2.ToString();

 

 

At runtime, the error value is also displayed:

Error message:

The double type can not be implicitly converted to string.

 

Evaluation of an Excel Cell worksheet.Cells [1,1]

At runtime, Programmatically Value

 

?

Name

Value

Type

ws.Cells[1,1]

{System.__ComObject}

object {System.__ComObject}

Debug Watch1

Debug variables at runtime

 

?

Name

Value

Dynamic View

Expanding the Dynamic View will get the dynamic members for the object

DisplayFormat

{System.__ComObject}

FormatConditions

{System.__ComObject}

Formula

{System.Reflection.TargetInvocationException: Ein Aufrufziel hat einen Ausnahmefehler verursacht. ---> System.Runtime.InteropServices.COMException: Altes Format oder ungültige Typbibliothek. (Ausnahme von HRESULT: 0x80028018 (TYPE_E_INVDATAREAD)) --- Ende der internen Ausnahmestapelüberwachung --- bei System.RuntimeType.InvokeDispMethod(String name, BindingFlags invokeAttr, Object target, Object[] args, Boolean[] byrefModifiers, Int32 culture, String[] namedParameters) bei System.RuntimeType.InvokeMember(String name, BindingFlags bindingFlags, Binder binder, Object target, Object[] providedArgs, ParameterModifier[] modifiers, CultureInfo culture, String[] namedParams) bei System.Dynamic.IDispatchComObject.GetMembers(IEnumerable`1 names)}

FormulaArray

{System.Reflection.TargetInvocationException: Ein Aufrufziel hat einen Ausnahmefehler verursacht. ---> System.Runtime.InteropServices.COMException: Altes Format oder ungültige Typbibliothek. (Ausnahme von HRESULT: 0x80028018 (TYPE_E_INVDATAREAD)) --- Ende der internen Ausnahmestapelüberwachung --- bei System.RuntimeType.InvokeDispMethod(String name, BindingFlags invokeAttr, Object target, Object[] args, Boolean[] byrefModifiers, Int32 culture, String[] namedParameters) bei System.RuntimeType.InvokeMember(String name, BindingFlags bindingFlags, Binder binder, Object target, Object[] providedArgs, ParameterModifier[] modifiers, CultureInfo culture, String[] namedParams) bei System.Dynamic.IDispatchComObject.GetMembers(IEnumerable`1 names)}

FormulaHidden

{System.Reflection.TargetInvocationException: Ein Aufrufziel hat einen Ausnahmefehler verursacht. ---> System.Runtime.InteropServices.COMException: Altes Format oder ungültige Typbibliothek. (Ausnahme von HRESULT: 0x80028018 (TYPE_E_INVDATAREAD)) --- Ende der internen Ausnahmestapelüberwachung --- bei System.RuntimeType.InvokeDispMethod(String name, BindingFlags invokeAttr, Object target, Object[] args, Boolean[] byrefModifiers, Int32 culture, String[] namedParameters) bei System.RuntimeType.InvokeMember(String name, BindingFlags bindingFlags, Binder binder, Object target, Object[] providedArgs, ParameterModifier[] modifiers, CultureInfo culture, String[] namedParams) bei System.Dynamic.IDispatchComObject.GetMembers(IEnumerable`1 names)}

FormulaLabel

{System.Reflection.TargetInvocationException: Ein Aufrufziel hat einen Ausnahmefehler verursacht. ---> System.Runtime.InteropServices.COMException: Ausnahme von HRESULT: 0x800A03EC --- Ende der internen Ausnahmestapelüberwachung --- bei System.RuntimeType.InvokeDispMethod(String name, BindingFlags invokeAttr, Object target, Object[] args, Boolean[] byrefModifiers, Int32 culture, String[] namedParameters) bei System.RuntimeType.InvokeMember(String name, BindingFlags bindingFlags, Binder binder, Object target, Object[] providedArgs, ParameterModifier[] modifiers, CultureInfo culture, String[] namedParams) bei System.Dynamic.IDispatchComObject.GetMembers(IEnumerable`1 names)}

FormulaLocal

"SA-Nr."

FormulaR1C1

{System.Reflection.TargetInvocationException: Ein Aufrufziel hat einen Ausnahmefehler verursacht. ---> System.Runtime.InteropServices.COMException: Altes Format oder ungültige Typbibliothek. (Ausnahme von HRESULT: 0x80028018 (TYPE_E_INVDATAREAD)) --- Ende der internen Ausnahmestapelüberwachung --- bei System.RuntimeType.InvokeDispMethod(String name, BindingFlags invokeAttr, Object target, Object[] args, Boolean[] byrefModifiers, Int32 culture, String[] namedParameters) bei System.RuntimeType.InvokeMember(String name, BindingFlags bindingFlags, Binder binder, Object target, Object[] providedArgs, ParameterModifier[] modifiers, CultureInfo culture, String[] namedParams) bei System.Dynamic.IDispatchComObject.GetMembers(IEnumerable`1 names)}

FormulaR1C1Local

"SA-Nr."

NumberFormat

{System.Reflection.TargetInvocationException: Ein Aufrufziel hat einen Ausnahmefehler verursacht. ---> System.Runtime.InteropServices.COMException: Altes Format oder ungültige Typbibliothek. (Ausnahme von HRESULT: 0x80028018 (TYPE_E_INVDATAREAD)) --- Ende der internen Ausnahmestapelüberwachung --- bei System.RuntimeType.InvokeDispMethod(String name, BindingFlags invokeAttr, Object target, Object[] args, Boolean[] byrefModifiers, Int32 culture, String[] namedParameters) bei System.RuntimeType.InvokeMember(String name, BindingFlags bindingFlags, Binder binder, Object target, Object[] providedArgs, ParameterModifier[] modifiers, CultureInfo culture, String[] namedParams) bei System.Dynamic.IDispatchComObject.GetMembers(IEnumerable`1 names)}

NumberFormatLocal

{System.Reflection.TargetInvocationException: Ein Aufrufziel hat einen Ausnahmefehler verursacht. ---> System.Runtime.InteropServices.COMException: Altes Format oder ungültige Typbibliothek. (Ausnahme von HRESULT: 0x80028018 (TYPE_E_INVDATAREAD)) --- Ende der internen Ausnahmestapelüberwachung --- bei System.RuntimeType.InvokeDispMethod(String name, BindingFlags invokeAttr, Object target, Object[] args, Boolean[] byrefModifiers, Int32 culture, String[] namedParameters) bei System.RuntimeType.InvokeMember(String name, BindingFlags bindingFlags, Binder binder, Object target, Object[] providedArgs, ParameterModifier[] modifiers, CultureInfo culture, String[] namedParams) bei System.Dynamic.IDispatchComObject.GetMembers(IEnumerable`1 names)}

PivotCell

{System.Reflection.TargetInvocationException: Ein Aufrufziel hat einen Ausnahmefehler verursacht. ---> System.Runtime.InteropServices.COMException: Ausnahme von HRESULT: 0x800A03EC --- Ende der internen Ausnahmestapelüberwachung --- bei System.RuntimeType.InvokeDispMethod(String name, BindingFlags invokeAttr, Object target, Object[] args, Boolean[] byrefModifiers, Int32 culture, String[] namedParameters) bei System.RuntimeType.InvokeMember(String name, BindingFlags bindingFlags, Binder binder, Object target, Object[] providedArgs, ParameterModifier[] modifiers, CultureInfo culture, String[] namedParams) bei System.Dynamic.IDispatchComObject.GetMembers(IEnumerable`1 names)}

Text

{System.Reflection.TargetInvocationException: Ein Aufrufziel hat einen Ausnahmefehler verursacht. ---> System.Runtime.InteropServices.COMException: Altes Format oder ungültige Typbibliothek. (Ausnahme von HRESULT: 0x80028018 (TYPE_E_INVDATAREAD)) --- Ende der internen Ausnahmestapelüberwachung --- bei System.RuntimeType.InvokeDispMethod(String name, BindingFlags invokeAttr, Object target, Object[] args, Boolean[] byrefModifiers, Int32 culture, String[] namedParameters) bei System.RuntimeType.InvokeMember(String name, BindingFlags bindingFlags, Binder binder, Object target, Object[] providedArgs, ParameterModifier[] modifiers, CultureInfo culture, String[] namedParams) bei System.Dynamic.IDispatchComObject.GetMembers(IEnumerable`1 names)}

Value2

{System.Reflection.TargetInvocationException: Ein Aufrufziel hat einen Ausnahmefehler verursacht. ---> System.Runtime.InteropServices.COMException: Altes Format oder ungültige Typbibliothek. (Ausnahme von HRESULT: 0x80028018 (TYPE_E_INVDATAREAD)) --- Ende der internen Ausnahmestapelüberwachung --- bei System.RuntimeType.InvokeDispMethod(String name, BindingFlags invokeAttr, Object target, Object[] args, Boolean[] byrefModifiers, Int32 culture, String[] namedParameters) bei System.RuntimeType.InvokeMember(String name, BindingFlags bindingFlags, Binder binder, Object target, Object[] providedArgs, ParameterModifier[] modifiers, CultureInfo culture, String[] namedParams) bei System.Dynamic.IDispatchComObject.GetMembers(IEnumerable`1 names)}