Вам, вероятно, нужно правильно обыграть ваш объектДля работы с рабочим листом требуется COM-объект Excel, поэтому обычно сначала выполняется мгновенный запуск его, а затем доступ к листуВот пример кода:
Dim xl As Microsoft.Office.Interop.Excel.Application
xl = New Microsoft.Office.Interop.Excel.Application
Dim wb As Microsoft.Office.Interop.Excel.Workbook
wb = xl.Workbooks.Add()
Dim ws As Microsoft.Office.Interop.Excel.Worksheet
ws = wb.ActiveSheet
Теперь вы можете работать со своим ws
.Обратите внимание, что я не запускаю его мгновенно, используя Dim .. as New
.
. Таким образом вы получите невидимый экземпляр Excel, работающий в фоновом режиме.Вы должны явно закрыть свое приложение после того, как оно сделано, чтобы оно не оставалось в памяти:
/// after your are finished
xl.Quit()
Marshal.ReleaseComObject(xl)
Это особенно важно, если вы используете его в виде цикла.