2010-02-19 31 views
5

Actualmente estoy haciendo esto:¿Cómo puedo obtener el valor de una celda por el índice de fila y columna de índice

string cellValue = sheet.get_Range("A12", _missing).Value2.ToString(); 

esto funciona, pero realmente necesito para seleccionar una celda de la fila y el índice de la columna.

Puedo obtener una excepción nula cuando intento

string cellValue = ((Range)sheet.Cells[row, column]).Value2.ToString(); 

alguna idea?

+0

posible duplicado de [¿Cómo obtengo un rango de Excel usando números de fila y columna en VSTO/C#?] (Http://stackoverflow.com/questions/2333202/how-do-i-get-an-excel- range-using-row-and-column-numbers-in-vsto-c) – nawfal

Respuesta

7

¿Dónde se produce el ArgumentNullException? Trate de separar su código como este y el paso a través de él:

object rangeObject = sheet.Cells[row, column]; 
Range range = (Range)rangeObject; 
object rangeValue = range.Value2; 
string cellValue = rangeValue.ToString(); 

Esto le mostrará donde el objeto es nulo.

+0

la NullReferenceException ocurre en string cellValue = rangeValue.ToString(); porque range.Value2 es nulo. Sé que mi hoja está bien, pero creo que Sheet. Cells [fila, columna] es el verdadero culpable. – CurlyFro

+0

Creo que un 'range.Value2' nulo indica que la celda no tiene un valor. Si miras la celda en Excel, ¿está vacía? –

+2

Además, la interoperabilidad de Excel utiliza la indexación basada en 1. El problema podría ser que está utilizando índices basados ​​en cero que hacen referencia a una celda vacía. Si ese es el caso, entonces todo lo que necesita hacer es usar 'row + 1' y' column + 1' para obtener la celda correcta. –

0

Tuve el mismo problema. El nullref ocurriría cuando la celda que estaba leyendo estuviera vacía.

string foo = (((Range) ActiveWorksheet.Cells[row, column]).Value2 != null 
      ? ((Range) ActiveWorksheet.Cells[row, column]).Value2.ToString() 
      : "Coalesce some false string here..."); 

Tenga en cuenta que usted tiene que comprobar NULL antes se intenta transformar o convertir el valor.

Cuestiones relacionadas