Cannot implicitly convert type 'object' to 'Microsoft.Office.Interop.Excel.Worksheet'. An explicit conversion exists (are you missing a cast?)

StackOverflow https://stackoverflow.com/questions/19888326

Pergunta

Here I'm opening excel and writing to excel sheet. I'm changing my windows application to asp website and seen this error. I have added all the references and libraries. Don't know what I am missing here.

Getting error as mentioned below. Please help me.

    Excel.Application excel = new Excel.Application();
    excel.Visible = false; // to hide the processing 
    Excel.Workbook wb = excel.Workbooks.Add();
    Excel.Worksheet sh = wb.Sheets.Add(); // Error at wb


    sh.Name = "Links";

    for (int i = 1; i < list.Count; i++)
    {
        sh.Cells[i.ToString(), "A"].Value2 = list[i]; //Error at .Value2

    }
Foi útil?

Solução

you have to create a new Worksheet with Sheets array by providing WorkSheet Name. and also please Cast The Newly Created WorkSheet.

Replace this :

Excel.Worksheet sh = wb.Sheets.Add();

with following

 Excel.Worksheet sh  = (Microsoft.Office.Interop.Excel.Worksheet)wb.Sheets["Sheet1"];

Outras dicas

To resolve your second error,

//Error at .Value2

  1. Go to project properties. (Click Project in Menu, Click properties)
  2. Set the Target Framework as .NET Framework 4
  3. This should resolve your .Value2 error.
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top