microsoft office interop excel



Microsoft.office.interop.excel

Автор Ѐоман Акбашев задал вопрос в разделе Другие языки и технологии

С# подскажите пожалуйста и получил лучший ответ

Ответ от Kelavric kelavric[гуру]
Ну, Вы же эту функцию где-то вызываете? Вот перед работой того кода откройте ексель (теми строчками, что перед Regex regex =...), а после работы закройте. В самой функции, похоже, хватит и одного лишь ObjWorkSheet, переданного туда в качестве параметра.

Ответ от Shaman[гуру]
Самый банальный вариант ...
Вызываешь метод кнопкой ?
да и деактивируй её после одного выполнения ...

Ответ от Ночник[гуру]
Упакую все вызовы к Excel в класс (можно в статический) при создании экземпляра класса открывай соединение, а данную функцию оформи как метод

Ответ от ...[гуру]
Microsoft.Office.Interop.Excel.Applicatiоn оbjExcel = new Microsoft.Office.Interop.Excel.Application();
Корень Ваших проблем. Вы создаёте объект excel каждый раз и он естественно будет новым.
Вынесите ObjWorkBook вне фукнции (какой у Вас там класс/форма.... )
т. е. сейчас
class Form1 {
private void searchRegR(string strpat, int l) {
...
Microsoft.Office.Interop.Excel.Workbook ObjWorkBook = ...;
}
А сделайте так:
class Form1 {
...
Microsoft.Office.Interop.Excel.Workbook ObjWorkBook;
...
private void searchRegR(....) {
//Проверяем инициализирована ли рабочая книга, если нет
if (!ObjWorkBook is Microsoft.Office.Interop.Excel.Workbook) {
//Создаём "приложение"
Microsoft.Office.Interop.Excel.Applicatiоn оbjExcel = new Microsoft.Office.Interop.Excel.Application();
//!!! Запоминаем книгу
ObjWorkBook = ObjExcel.Workbooks.Add(System.Reflection.Missing.Value);
}
//Дальше работаем с книгой.
}
}
Вместо книги естественно можно хранить лист, или приложение, если это удобнее...

Ответ от 3 ответа[гуру]
Привет! Вот подборка тем с ответами на Ваш вопрос: С# подскажите пожалуйста
 

Ответить на вопрос:

Имя*

E-mail:*

Текст ответа:*
Проверочный код(введите 22):*