powered by simpleCommunicator - 2.0.53     © 2025 Programmizd 02
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Выгрузка в Excel
4 сообщений из 4, страница 1 из 1
Выгрузка в Excel
    #39040495
Lexx_SQL
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Добрый день!
Столкнулся с проблемой выгрузки данных в Excel из набора данных (использую Datagridview-BindindgSource-Dataset).
Раньше пользовался xlWs.Range("A7").CopyFromRecordset(rs), так мог получить запрос и передать данные rs в Excel.
Но сейчас ввиду того, что по факту имею только данные (могут быть отфильтрованы и отсортированы), нужно их выгружать.
Объем данных бывает большой, поэтому цикл по DG или использование буфера обмена может вызывать нервное ожидание у пользователей.
Хотелось бы выгружать по скорости как CopyFromRecordset.
Подскажите какие есть варианты.Спасибо.
...
Рейтинг: 0 / 0
Выгрузка в Excel
    #39040526
MrVoid
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Lexx_SQL,

Можно загнать данные в массив - и передать его на лист:
Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
static void DumpArrayToExcel()
{
	// Запускаем Excel
	dynamic excel = GetExcelApp();
	excel.Visible = true;
	dynamic book = excel.Workbooks.Add();
	dynamic sheet = book.Sheets[1];

	// Создаём массив 10x2
	int rows = 10, cols = 2;
	var excelArray = Array.CreateInstance(typeof(string), new int[] { rows, cols }, new int[] { 1, 1 });

	// Заполняем массив
	for (int row = 1; row <= rows; ++row)
		for (int col = 1; col <= cols; ++col)
			excelArray.SetValue($"{row};{col}", row, col);

	// Начальная ячейка диапазона, куда нужно сбросить массив
	dynamic topLeftCell = sheet.Range["A1"];

	// Сбрасываем массив
	topLeftCell.Resize(rows, cols).Value = excelArray;
}
...
Рейтинг: 0 / 0
Выгрузка в Excel
    #39040583
Lexx_SQL
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MrVoid,

СУПЕР.Спасибо работает быстро.
...
Рейтинг: 0 / 0
Выгрузка в Excel
    #39040674
MrVoid
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Lexx_SQL,

На здоровье. :)
...
Рейтинг: 0 / 0
4 сообщений из 4, страница 1 из 1
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Выгрузка в Excel
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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