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

221B picture 221B · Nov 10, 2013 · Viewed 20.1k times · Source

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

    }

Answer

Sudhakar Tillapudi picture Sudhakar Tillapudi · Nov 10, 2013

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"];