none
Закрытие процесс после обрабтки файла RRS feed

  • Вопрос

  • Добрый день!

    Используя OpenFileDialog ofd = new OpenFileDialog(); открываю Excel. После считывания данных, как правильно закрыть этот процесс, что бы не закрывать все поцессы связанные с Excel на компьютере?

    30 июля 2015 г. 11:02

Ответы

  • Вот так

     ExcelApp = new Microsoft.Office.Interop.Excel.Application();
    ..... 
    далее чтение файла из Excel запись данных в DataTable затем
    .....
    ExcelApp.Quit(); // выйти из Excel
    .....
    Далее работаете с данными.

    • Помечено в качестве ответа Alterpi108 4 августа 2015 г. 13:00
    30 июля 2015 г. 17:40
  • Неукоснительно соблюдайте правило: Never use 2 dots with com objects (Никогда не используйте 2 точки с com-объектами). См. здесь.
    • Помечено в качестве ответа Alterpi108 4 августа 2015 г. 13:00
    31 июля 2015 г. 16:26
  • Неукоснительно соблюдайте правило: Never use 2 dots with com objects (Никогда не используйте 2 точки с com-объектами). См. здесь.

    Читаем там же 2 страницу.

    public class ApplicationContainer : ReleaseContainer<Application>
    {
        public ApplicationContainer()
            : base(new Application(), ActionOnExcel)
        {
        }
    
        private static void ActionOnExcel(Application application)
        {
            application.Show(); // extension method. want to make sure the app is visible.
            application.Quit();
            Marshal.FinalReleaseComObject(application);
        }
    }

    • Помечено в качестве ответа Alterpi108 4 августа 2015 г. 13:00
    31 июля 2015 г. 17:55

Все ответы

  • Вот так

     ExcelApp = new Microsoft.Office.Interop.Excel.Application();
    ..... 
    далее чтение файла из Excel запись данных в DataTable затем
    .....
    ExcelApp.Quit(); // выйти из Excel
    .....
    Далее работаете с данными.

    • Помечено в качестве ответа Alterpi108 4 августа 2015 г. 13:00
    30 июля 2015 г. 17:40
  • Неукоснительно соблюдайте правило: Never use 2 dots with com objects (Никогда не используйте 2 точки с com-объектами). См. здесь.
    • Помечено в качестве ответа Alterpi108 4 августа 2015 г. 13:00
    31 июля 2015 г. 16:26
  • Неукоснительно соблюдайте правило: Never use 2 dots with com objects (Никогда не используйте 2 точки с com-объектами). См. здесь.

    Читаем там же 2 страницу.

    public class ApplicationContainer : ReleaseContainer<Application>
    {
        public ApplicationContainer()
            : base(new Application(), ActionOnExcel)
        {
        }
    
        private static void ActionOnExcel(Application application)
        {
            application.Show(); // extension method. want to make sure the app is visible.
            application.Quit();
            Marshal.FinalReleaseComObject(application);
        }
    }

    • Помечено в качестве ответа Alterpi108 4 августа 2015 г. 13:00
    31 июля 2015 г. 17:55