Error al usar Office 2007 (Excel) y C#

27/12/2007 - 18:46 por Jorge Montenegro | Informe spam
Nota: No sabia en que lugar poner mi duda :P.

Un saludo a todos...

Bueno... mi problema es este...

Error 1 Cannot implicitly convert type 'object' to
'Microsoft.Office.Interop.Excel.Worksheet'. An explicit conversion exists
(are you missing a cast?) C:\Documents and Settings\Jorge\Configuración
local\Datos de programa\Temporary
Projects\WindowsFormsApplication1\Form1.cs 25 35 WindowsFormsApplication1

...y mi codigo es este...

Workbook theWorkbook = ExcelSheet.Workbooks.Open("C:\\Libro1.xls", 0, true,
5, "", "", true, XlPlatform.xlWindows, "\t", false, false, 0, true,
Type.Missing, Type.Missing);
Sheets sheets = theWorkbook.Worksheets;
Worksheet worksheet = sheets.get_Item(1); // Aquí me lanza un error...


Espero que me puedan ayudar y explicarme porque no puedo trabajar con Excel
y C#.

Saludos.
Jorge Montenegro Gana.
 

Leer las respuestas

#1 Alberto Poblacion
27/12/2007 - 20:27 | Informe spam
"Jorge Montenegro" wrote in
message news:
[...]
Error 1 Cannot implicitly convert type 'object' to
'Microsoft.Office.Interop.Excel.Worksheet'. An explicit conversion exists
(are you missing a cast?)
[...]
Worksheet worksheet = sheets.get_Item(1); // Aquí me lanza un error...



get_Item te devuelve un Object, y lo estás intentando meter en un
Worksheet. Esto no es legal en C# (ni tampoco en VB.Net si usas el Option
Strict, cosa que deberías hacer).
Tienes que meter la conversión explícita, como te dice el mensaje de
error, para indicarle al compilador que efectivamente deseas hacer esa
conversión cuya validez el compilador no puede comprobar porque no se sabe
si lo que hay dentro del Object es realmente un Worksheet hasta el momento
de la ejecución:

Worksheet worksheet = (Worksheet) sheets.get_Item(1);

Preguntas similares