Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > .NET Frameworks (точка нет фреймворки) > Общие вопросы .NET
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 15.12.2010, 20:57   #1
NZero
Пользователь
 
Аватар для NZero
 
Регистрация: 16.04.2010
Сообщений: 35
По умолчанию Выгрузить заголовки таблицы в Excel

Всем привет, сделал выгрузку данных в Excel следующим образом

Код:
public void ExportExcel(DataGridView dg, string namet)
        {
            Excel.Application xlApp;
            Excel.Workbook xlWorkBook;
            Excel.Worksheet xlWorkSheet;
            object misValue = System.Reflection.Missing.Value;

            xlApp = new Excel.ApplicationClass();
            xlWorkBook = xlApp.Workbooks.Add(misValue);
            xlWorkSheet = (Excel.Worksheet)xlWorkBook.Worksheets.get_Item(1);
            int i = 0;
            int j = 1;
            int k = 0;
            int l = 0;
            
            for (i = 0; i <= dg.RowCount - 1; i++)
            {
                l = 0;
                for (j = 1; j <= dg.ColumnCount - 1; j++)
                {
                    DataGridViewCell cell = dg[j, i];
                    xlWorkSheet.Cells[k + 1, l + 1] = cell.Value;
                    l++;
                }
                k++;
            }

            xlWorkBook.SaveAs("E:\\Диплом\\excel\\" + namet + ".xls", Excel.XlFileFormat.xlWorkbookNormal, misValue, misValue, misValue, misValue, Excel.XlSaveAsAccessMode.xlExclusive, misValue, misValue, misValue, misValue, misValue);
            xlWorkBook.Close(true, misValue, misValue);
            xlApp.Quit();

            releaseObject(xlWorkSheet);
            releaseObject(xlWorkBook);
            releaseObject(xlApp);

            MessageBox.Show("Excel file created , you can find the file E:\\Диплом\\excel\\csharp.net-informations.xls");
        }

        private void releaseObject(object obj)
        {
            try
            {
                System.Runtime.InteropServices.Marshal.ReleaseComObject(obj);
                obj = null;
            }
            catch (Exception ex)
            {
                obj = null;
                MessageBox.Show("Exception Occured while releasing object " + ex.ToString());
            }
            finally
            {
                GC.Collect();
            }
        }
Выгружаются сами данные, а как выгружать заголовки столбцов таблицы?
NZero вне форума Ответить с цитированием
Старый 15.12.2010, 21:43   #2
NZero
Пользователь
 
Аватар для NZero
 
Регистрация: 16.04.2010
Сообщений: 35
По умолчанию

Снимаю вопрос! разобрался)
NZero вне форума Ответить с цитированием
Старый 15.12.2010, 23:14   #3
dampirik
Форумчанин
 
Регистрация: 02.07.2009
Сообщений: 722
По умолчанию

Ну дк разобрался - напиши!
dampirik вне форума Ответить с цитированием
Старый 16.12.2010, 09:11   #4
NZero
Пользователь
 
Аватар для NZero
 
Регистрация: 16.04.2010
Сообщений: 35
По умолчанию

Пожалуйста


Код:
public void ExportExcel(DataGridView dg, string namet)
        {
            Excel.Application xlApp;
            Excel.Workbook xlWorkBook;
            Excel.Worksheet xlWorkSheet;
            object misValue = System.Reflection.Missing.Value;

            xlApp = new Excel.ApplicationClass();
            xlWorkBook = xlApp.Workbooks.Add(misValue);
            xlWorkSheet = (Excel.Worksheet)xlWorkBook.Worksheets.get_Item(1);
            int i = 0;
            int j = 1;
            int k = 0;
            int l = 0;

            for (j = 1; j <= dg.ColumnCount - 1; j++)
            {
                k = 0;
                xlWorkSheet.Cells[k + 1, l + 1] = dg.Columns[j].HeaderText;
                k = 1;
                for (i = 0; i <= dg.RowCount - 1; i++)
                {
                    DataGridViewCell cell = dg[j, i];
                    xlWorkSheet.Cells[k + 1, l + 1] = cell.Value;
                    k++;
                }
                l++;
            }

            xlWorkBook.SaveAs("E:\\Диплом\\excel\\" + namet + ".xls", Excel.XlFileFormat.xlWorkbookNormal, misValue, misValue, misValue, misValue, Excel.XlSaveAsAccessMode.xlExclusive, misValue, misValue, misValue, misValue, misValue);
            xlWorkBook.Close(true, misValue, misValue);
            xlApp.Quit();

            releaseObject(xlWorkSheet);
            releaseObject(xlWorkBook);
            releaseObject(xlApp);

            MessageBox.Show("Excel файл создан, вы можете найти файл E:\\Диплом\\excel\\" + namet + ".xls");
        }

        private void releaseObject(object obj)
        {
            try
            {
                System.Runtime.InteropServices.Marshal.ReleaseComObject(obj);
                obj = null;
            }
            catch (Exception ex)
            {
                obj = null;
                MessageBox.Show("Ошибка при освобождении объекта " + ex.ToString());
            }
            finally
            {
                GC.Collect();
            }
        }
NZero вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Выгрузить результат sql-запроса в Excel ЛисЁНЫШ БД в Delphi 6 30.07.2010 15:53
Как выгрузить строку таблицы в отдельную книгу? NVNPP Microsoft Office Excel 1 21.04.2010 09:08
Форматирование таблицы в Excel программно monushka Помощь студентам 2 29.10.2009 11:03
как выгрузить разукрашенный DBGrid в EXCEL или в Word ГОСЕАН БД в Delphi 2 23.07.2009 03:53
Заголовки таблицы в Excel zetrix Microsoft Office Excel 0 30.10.2006 19:36