问题
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
}
回答1:
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"];
回答2:
To resolve your second error,
//Error at .Value2
- Go to project properties. (Click Project in Menu, Click properties)
- Set the Target Framework as .NET Framework 4
- This should resolve your .Value2 error.
来源:https://stackoverflow.com/questions/19888326/cannot-implicitly-convert-type-object-to-microsoft-office-interop-excel-works