Ho un addin VSTO e sto leggendo i dati da un foglio di lavoro Excel.E 'possibile ottenere un int da Range.Value in VSTO?
Sembra che quasi tutti i dati numerici vengano letti come double
. È mai possibile ottenere un valore int
da Range.Value
?
Ecco un codice per dimostrare cosa intendo.
Worksheet w = (Worksheet)Globals.ThisAddIn.Application.ActiveWorkbook.Worksheets["Sheet1"];
var value = ((Range)w.Cells[1, 1]).Value;
bool isInt = value is int;
bool isDouble = value is double;
Indipendentemente dal formato che uso nel foglio di lavoro Foglio1, cella A1, isInt
torna sempre falso.
C'è qualche formato che dovrei usare per ottenere int
? Ho pensato che forse General
o 0
avrebbe funzionato, ma non sembra.
Non credo che ci si mai arrivare un int - Excel non memorizza mai i numeri come int internamente, sempre un doppio. – Govert
@Govert Ok, questo è quello che sospettavo ma volevo una conferma. Se pubblichi una risposta (preferibilmente con una fonte su quel bocconcino di Excel), accetterò. –