powered by simpleCommunicator - 2.0.55     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / падает Excel
12 сообщений из 12, страница 1 из 1
падает Excel
    #38828918
vaskovsky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Добрый день!
Использую Эксель, все хорошо, сохраняю, но по команде ExcelApp.Quit(); Excel выводит стандартное сообщение о том, что все упало.
К сожалению, код дома, а я на работе, так что попрошу накидать идей, вечером приду - проверю.
Спасибо.
...
Рейтинг: 0 / 0
падает Excel
    #38829381
Фотография Axeleron
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vaskovskyвыводит стандартное сообщение о том, что все упало.

Такого не бывает. Надо смотреть на exception.
...
Рейтинг: 0 / 0
падает Excel
    #38829559
vaskovsky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
Excel.Application ExcelApp = new Excel.Application();
            
            ExcelApp.Visible=true;
            

            FileInfo fi = new FileInfo(Application.ExecutablePath);
            Excel.Workbook wb = ExcelApp.Workbooks.Open(fi.Directory+"\\"+"результаты.xls", Type.Missing, false, Type.Missing, "1");
            Excel.Worksheet ws = ((Excel.Worksheet)wb.ActiveSheet);
            
            int i =3;
            
            
            while (Convert.ToString((((Excel.Range) ws.Cells[i,1]).Value2))!="")
            {
                
                i=i+1;

            }
            
            int row = i;
            ((Excel.Range)ws.Cells[row, 1]).Value = DateTime.Today.Date;
            ((Excel.Range)ws.Cells[row, 2]).Value = tbFIO.Text;
            ((Excel.Range)ws.Cells[row, 3]).Value = (DateTime.Today.Date.Year - dtBirthDay.Value.Date.Year);
            ((Excel.Range)ws.Cells[row, 4]).Value = tbNumber.Text;
            ((Excel.Range)ws.Cells[row, 5]).Value = TestForm.results[0];
            ((Excel.Range)ws.Cells[row, 6]).Value = TestForm.results[1];
            ((Excel.Range)ws.Cells[row, 7]).Value = TestForm.results[2];
            ((Excel.Range)ws.Cells[row, 8]).Value = TestForm.results[3];
            ((Excel.Range)ws.Cells[row, 9]).Value = TestForm.results[4];
            ((Excel.Range)ws.Cells[row, 10]).Value = TestForm.results[5];
            ((Excel.Range)ws.Cells[row, 11]).Value = TestForm.results[0] +
                                                 TestForm.results[1] +
                                                 TestForm.results[2] +
                                                 TestForm.results[3] +
                                                 TestForm.results[4] +
                                                 TestForm.results[5];
            ((Excel.Range)ws.Cells[row, 12]).Value = TestForm.resultsTime[0];
            ((Excel.Range)ws.Cells[row, 13]).Value = TestForm.resultsTime[1];
            ((Excel.Range)ws.Cells[row, 14]).Value = TestForm.resultsTime[2];
            ((Excel.Range)ws.Cells[row, 15]).Value = TestForm.resultsTime[3];
            ((Excel.Range)ws.Cells[row, 16]).Value = TestForm.resultsTime[4];
            ((Excel.Range)ws.Cells[row, 17]).Value = TestForm.resultsTime[5];
            
            ExcelApp.DisplayAlerts = false;
            wb.Save();
            wb.Close(false, Type.Missing, Type.Missing);

                    
           
            ExcelApp.Quit();
           
            ExcelApp = null;
...
Рейтинг: 0 / 0
падает Excel
    #38829560
vaskovsky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
это происходит на ExcelApp.Quit().
делал это сразу после
Код: c#
1.
 Excel.Application ExcelApp = new Excel.Application();


ровно то же сообщение.
и в try/catch оно не лезет
...
Рейтинг: 0 / 0
падает Excel
    #38829579
petalvik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vaskovsky,

полагаю, нужно релизить все COM-объекты. При этом соблюдая правило Never use 2 dots with com objects.
...
Рейтинг: 0 / 0
падает Excel
    #38829780
vaskovsky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
petalvik,
спасибо, обязательно попробую.
...
Рейтинг: 0 / 0
падает Excel
    #38830819
vaskovsky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Релиз объектов ничего не дал...
Делаю quit (), а потом грохаю процесс - кривенько, но работает.
...
Рейтинг: 0 / 0
падает Excel
    #38830985
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Когда уже люди включать мозг и поймут, что место этой тупой комовской интероп-обвязке офиса - на помойке...
...
Рейтинг: 0 / 0
падает Excel
    #38831347
vaskovsky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
МСУ, ну во первых я плохо знаю C#, во вторых я плохо знаю COM.
А как можно решить данную задачу по Вашему мнению?
...
Рейтинг: 0 / 0
падает Excel
    #38831376
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vaskovskyА как можно решить данную задачу по Вашему мнению?
SS/RS или Open XML SDK 2.5
...
Рейтинг: 0 / 0
падает Excel
    #38831848
Фотография Cat2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
vaskovskyА как можно решить данную задачу по Вашему мнению?
По моему мнению отчеты можно конструровать в MICROSOFT REPORT BUILDER, в программе для их отображения использовать MICROSOFT REPORT VIEWER, который может делать экспорт в эксель
...
Рейтинг: 0 / 0
падает Excel
    #38833622
Ermak
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я в простых случаях сохраняю результат в CSV файлах, которые читаются Excel'ем без проблем.
Ну как без проблем?
Если csv файл правильно приготовить.
...
Рейтинг: 0 / 0
12 сообщений из 12, страница 1 из 1
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / падает Excel
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]