Модераторы: Partizan, gambit
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Ищу код функции для экспорта Datagridview в excel 
:(
    Опции темы
kolchakA
Дата 9.7.2010, 21:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 12
Регистрация: 15.11.2009

Репутация: нет
Всего: нет



Пробовал решение, приведенное вот здесь http://www.codeguru.com/forum/showthread.php?t=421702. Но оно почему то создает пустой Excel файл. Поделитесь, плз, работающим решением.
PM MAIL   Вверх
kolchakA
Дата 10.7.2010, 06:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 12
Регистрация: 15.11.2009

Репутация: нет
Всего: нет



Пока нашел вот что:
Код

Microsoft.Office.Interop.Excel.Application ExcelApplication = new Microsoft.Office.Interop.Excel.Application();
            ExcelApplication.Visible = true;
 
            Microsoft.Office.Interop.Excel.Workbook ExcelWorkbook = ExcelApplication.Workbooks.Add(1);
 
            Microsoft.Office.Interop.Excel.Worksheet ExcelWorksheet = (Microsoft.Office.Interop.Excel.Worksheet)ExcelWorkbook.Sheets.get_Item(1);
 
            Microsoft.Office.Interop.Excel.Range ExcelRange = ExcelWorksheet.get_Range(ExcelWorksheet.Cells[1, 1], ExcelWorksheet.Cells[dataGridView1.RowCount-1, dataGridView1.ColumnCount]);
 
          
            object[,] datagridview = new object[dataGridView1.RowCount-1, dataGridView1.ColumnCount];
             
            for (int i = 0; i < dataGridView1.ColumnCount; i++)
            {
                datagridview[0, i] = dataGridView1.Rows[0].Cells[i].OwningColumn.Name.ToString();  // формується стовпців у таблиці
            }
            ExcelRange.set_Value(Microsoft.Office.Interop.Excel.XlRangeValueDataType.xlRangeValueDefault, datagridview);
            
            
            for (int i = 0; i < dataGridView1.RowCount-1; i++)
            {
                for (int j = 0; j < dataGridView1.ColumnCount; j++)
                {
                    datagridview[i, j] = dataGridView1.Rows[i].Cells[j].Value; // формуються дані таблиці
                    ExcelWorksheet.get_Range(ExcelWorksheet.Cells[2, 1], ExcelWorksheet.Cells[dataGridView1.RowCount, dataGridView1.ColumnCount]).set_Value(Microsoft.Office.Interop.Excel.XlRangeValueDataType.xlRangeValueDefault, datagridview); //заенсення даних потаблиці
                }
            }
           
            ExcelRange.EntireColumn.AutoFit();


но при больших объемах данных слишком долго работает
PM MAIL   Вверх
VirusUZ
  Дата 12.7.2010, 08:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 161
Регистрация: 9.4.2010
Где: Узбекистан, Навои й обл.

Репутация: нет
Всего: -2



Print.rar ----- Print DataGridview
Excel.dll ----- Import from Excel.xls to Datatable

Присоединённый файл ( Кол-во скачиваний: 14 )
Присоединённый файл  rahim.rar 63,02 Kb
--------------------
Virus
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Прежде чем создать тему, посмотрите сюда:
Partizan
PashaPash

Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов.
Что делать если Вам помогли, но отблагодарить помощника плюсом в репутацию Вы не можете(не хватает сообщений)? Пишите сюда, или отправляйте репорт. Поставим :)
Так же не забывайте отмечать свой вопрос решенным, если он таковым является :)


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, mr.DUDA, Partizan, PashaPash.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | .NET для новичков | Следующая тема »


 




[ Время генерации скрипта: 0.0474 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.