Interoperabilidad de Excel: cómo detener el número (almacenado como texto) que se "evalúa"

Me preguntaba si alguien se había encontrado con el siguiente problema y tenía alguna idea sobre cómo resolverlo: estoy exportando datos de una aplicación C # (.NET 3.5) a Excel (2003) a través de Interop. Una de las columnas almacena un valor de cadena que parece ser numérico. Es decir, es un número que comienza con un 0, p. 000123

Necesito que se almacene el número completo, ya que puede ser un número de serie o algo similar. Excel no está interesado en esto, así que pensé que podría solucionarlo configurando la celda de destino en general. Cuando exporto a Excel, encuentro 123 almacenados en lugar de 000123.

He revisado la aplicación en depuración y desde la lista de observación he encontrado que (para "Rango de rango":

range.NumberFormat = "General"`
this.Rows[iGridRow].Cells[iGridCol].Value = "000123" '/* (datagrid is not truncating it)*/
range.Value2 = 123.0

Parece que se maneja como un número, aunque configuré el formato de número antes de este punto:

range.NumberFormat = sNumberFormat;
range = (Range)sheet.Cells[iExcelRow, iExcelCol];
range.Value2 = this.Rows[iGridRow].Cells[iGridCol].Value.ToString();

Alguien puede ayudarme porfavor?

Respuestas a la pregunta(4)

Su respuesta a la pregunta