Форум программистов, компьютерный форум, киберфорум
C# Windows Forms
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.67/3: Рейтинг темы: голосов - 3, средняя оценка - 4.67
2 / 2 / 0
Регистрация: 22.11.2018
Сообщений: 305

Как сделать выполнение этого кода в отдельном потоке?

14.02.2020, 15:53. Показов 656. Ответов 6
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
При формировании отчета зависает программа, как сделать чтобы код выполнялся в отедльном потоке, и программа работала не зависая
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
Excel.Application app = new Excel.Application();
            app.Visible = false;
            Excel.Workbook wb = app.Workbooks.Add(1);
            Excel.Worksheet ws = (Excel.Worksheet)wb.Worksheets[1];
            // changing the name of active sheet
            ws.Name = "Exported from gridview";
 
            ws.Rows.HorizontalAlignment = HorizontalAlignment.Center;
            // storing header part in Excel
            for (int i = 1; i < dataGridView1.Columns.Count + 1; i++)
            {
                ws.Cells[1, i] = dataGridView1.Columns[i - 1].HeaderText;
            }
 
 
            // storing Each row and column value to excel sheet
            for (int i = 0; i < dataGridView1.Rows.Count - 1; i++)
            {
                for (int j = 0; j < dataGridView1.Columns.Count; j++)
                {
                    ws.Cells[i + 2, j + 1] = dataGridView1.Rows[i].Cells[j].Value.ToString();
                }
            }
 
            // sizing the columns
            ws.Cells.EntireColumn.AutoFit();
 
            // save the application
            wb.SaveAs("c:\\output.xlsx", Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Microsoft.Office.Interop.Excel.XlSaveAsAccessMode.xlExclusive, Type.Missing, Type.Missing, Type.Missing, Type.Missing);
 
            // Exit from the application
            app.Quit();
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
14.02.2020, 15:53
Ответы с готовыми решениями:

Выполнение кода в отдельном потоке
Итак есть форма. На ней кнопочка. Под кнопочкой трудоемкий алгоритм. Я хочу чтобы при нажатии на кнопочку запускался алгоритм в не главном...

Как отменить выполнение кода в сервисе, который запущен в отдельном потоке?
Здравствуйте! Есть код класса, наследующего Service public int onStartCommand(Intent intent, int flags, int startId) { tTask = new...

Выполнение кода в отдельном потоке
Добрый день! Изучаю программирование на андроид, написал тестовую программку где отрисовка происходит в отдельном потоке. Вроде...

6
 Аватар для Рядовой
1524 / 914 / 329
Регистрация: 17.05.2015
Сообщений: 3,438
15.02.2020, 10:22
tudswt, в отдельном потоке работают с данными, а вы работаете с контролами.
Цитата Сообщение от tudswt Посмотреть сообщение
for (int i = 0; i < dataGridView1.Rows.Count - 1; i++)
            {
                for (int j = 0; j < dataGridView1.Columns.Count; j++)
                {
                    ws.Cells[i + 2, j + 1] = dataGridView1.Rows[i].Cells[j].Value.ToString();
                }
            }
0
2 / 2 / 0
Регистрация: 22.11.2018
Сообщений: 305
15.02.2020, 13:09  [ТС]
Можно поподробнее, не понимаю
0
 Аватар для Рядовой
1524 / 914 / 329
Регистрация: 17.05.2015
Сообщений: 3,438
15.02.2020, 13:33
tudswt, в потоке обрабатывают данные, делают расчеты, взаимодействуют с внешними устройствами и т.д.
А вы работаете с dataGridView1. Работа с контролами производится в основном потоке.
0
2 / 2 / 0
Регистрация: 22.11.2018
Сообщений: 305
15.02.2020, 13:46  [ТС]
Можете пример показать пожалуйста?
0
 Аватар для Рядовой
1524 / 914 / 329
Регистрация: 17.05.2015
Сообщений: 3,438
15.02.2020, 21:19
tudswt, пример чего? Работы с данными? Если бы в вашем коде производилась работа с не с датагридом, а с DataTable например, или с коллекцией, то это была бы работа с данными, и это без труда могло бы выполняться в потоке.
0
 Аватар для Cupko
658 / 595 / 171
Регистрация: 17.07.2012
Сообщений: 1,682
Записей в блоге: 1
15.02.2020, 23:56
tudswt, вставляйте данные пачками, используя Excel Range. Не будет ни подвисаний, ни проблем с производительностью. Пример есть тут
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
15.02.2020, 23:56
Помогаю со студенческими работами здесь

Выполнение кода в отдельном потоке
Есть код программы. Хотел бы полюбоваться красивым видом, но тут столкнулся с проблемой .... Вот код: procedure...

Как запустит часть кода в отдельном потоке?
Как запустит часть кода в отдельном потоке? Например: как запустить картинку в отдельном потоке? private void Form1_Load(object...

Выполнение в отдельном потоке
Необходимо реализовать выполнение данного класса в отдельном потоке. У меня никак не выходит, прошу помощи) import java.awt.Color; ...

Выполнение функции в отдельном потоке
Вопрос конечно избитый, но толком ничего не нашел. Есть функция с кучей циклов и большими порогами. При её вызове все виснет на время её...

Выполнение метода в отдельном потоке
В моей программе есть метод авторизации на одном сайте, вызываю вот так: AuthMethod(LoginTextBox.Text, PassTextBox.Text); Довольно...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Новые блоги и статьи
Загрузка PNG-файла с альфа-каналом с помощью библиотеки SDL3_image на Android
8Observer8 27.01.2026
Содержание блога SDL3_image - это библиотека для загрузки и работы с изображениями. Эта пошаговая инструкция покажет, как загрузить и вывести на экран смартфона картинку с альфа-каналом, то есть с. . .
влияние грибов на сукцессию
anaschu 26.01.2026
Бифуркационные изменения массы гриба происходят тогда, когда мы уменьшаем массу компоста в 10 раз, а скорость прироста биомассы уменьшаем в три раза. Скорость прироста биомассы может уменьшаться за. . .
Воспроизведение звукового файла с помощью SDL3_mixer при касании экрана Android
8Observer8 26.01.2026
Содержание блога SDL3_mixer - это библиотека я для воспроизведения аудио. В отличие от инструкции по добавлению текста код по проигрыванию звука уже содержится в шаблоне примера. Нужно только. . .
Установка Android SDK, NDK, JDK, CMake и т.д.
8Observer8 25.01.2026
Содержание блога Перейдите по ссылке: https:/ / developer. android. com/ studio и в самом низу страницы кликните по архиву "commandlinetools-win-xxxxxx_latest. zip" Извлеките архив и вы увидите. . .
Вывод текста со шрифтом TTF на Android с помощью библиотеки SDL3_ttf
8Observer8 25.01.2026
Содержание блога Если у вас не установлены Android SDK, NDK, JDK, и т. д. то сделайте это по следующей инструкции: Установка Android SDK, NDK, JDK, CMake и т. д. Сборка примера Скачайте. . .
Использование SDL3-callbacks вместо функции main() на Android, Desktop и WebAssembly
8Observer8 24.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
моя боль
iceja 24.01.2026
Выложила интерполяцию кубическими сплайнами www. iceja. net REST сервисы временно не работают, только через Web. Написала за 56 рабочих часов этот сайт с нуля. При помощи perplexity. ai PRO , при. . .
Модель сукцессии микоризы
anaschu 24.01.2026
Решили писать научную статью с неким РОманом
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru