2013-03-29 17 views
5

Sto scrivendo un programma .NET che genera un documento XML aperto in Excel. La cella del genere simile:Come posso esprimere i valori NaN in Excel?

<ss:Cell> 
     <ss:Data ss:Type="Number">123</ss:Data> 
    </ss:Cell> 

Ma occasionly il valore che sto scrivendo ha o NaN, DIV/0 o INF. In questi casi 123 verrà sostituito da quel valore di testo e Excel non aprirà il file a causa del testo.

Non penso che Excel abbia costanti, quindi non sono sicuro di come gestire questo siuting, tranne che inserire un valore "-1". Eventuali suggerimenti?

+0

Non ho mai lavorato con questo, ma solo uno scatto al buio ... Cosa succede se si racchiude il precedente in una condizione IF? –

+1

Provare a impostare i valori in Excel, salvare il risultato in formato XML e confermare quale sia il valore. – code4life

risposta

5

Ecco le diverse errore codici che Excel conosce circa, memorizzati in formato XML:

<Cell><Data ss:Type="Error">#DIV/0!</Data></Cell> 
<Cell><Data ss:Type="Error">#NUM!</Data></Cell> 
<Cell><Data ss:Type="Error">#VALUE!</Data></Cell> 
<Cell><Data ss:Type="Error">#N/A</Data></Cell> 
<Cell><Data ss:Type="Error">#NAME?</Data></Cell> 
<Cell><Data ss:Type="Error">#REF!</Data></Cell> 
<Cell><Data ss:Type="Error">#NULL!</Data></Cell> 

Solo le prime due sono rilevanti per la tua domanda, ma ho aggiunto gli altri per ragioni di completezza.

Ma occasionly il valore che sto scrivendo ha sia Nan, DIV/0, o INF

DIV/0 mappe a #DIV/0!. Non credo ci sia una distinzione tra NaN o INF in Excel, entrambi sembrano essere espressi come #NUM!. Ad esempio, entrambe le seguenti formule hanno generato #NUM!, anche se il primo è un numero non valido mentre il secondo è solo molto grande.

=ASIN(2) 
=EXP(EXP(10)) 

Interessante, dura poco utile: Excel consente di inserire questi valori di errore letterali (compresa tutta la punteggiatura) in cellule nel foglio di lavoro senza problemi. In un certo senso, queste sono costanti integrate.

Problemi correlati