C++ C++ C# C# ASP.NET Security ASP.NET Security ASM ASM Скачать Скачать Поиск Поиск Хостинг Хостинг  
  Программа для работы с LPT портом...
Язык: .NET — ©Alexey...
  "ASP.NET Atlas" – AJAX в исполнении Micro...
Язык: .NET — ©legigor@mail.ru...
  "Невытесняющая" Многопоточность...
Язык: C/C++ — ©...
  01.05.2010 — Update World C++: Сборник GPL QT исходников
  15.12.2007 — Весь сайт целиком можно загрузить по ссылкам из раздела Скачать
Хостинг:
Windows 2003, ASP.NET 2.0
бесплатный и от 80 руб./мес


   Отправить письмо
Кулабухов Артем, Беларусь




 Создание файла Excel используя ODBC / Базы данных / Visual C++

Создание файла Excel используя ODBC.

Автор: Alexander Mikula

Описание

Многие приложения, для сохранения отчётов или содержимого базы данных, используют функции для экспорта. Предлагаю Вашему вниманию очень простой метод сохранения результатов в Excel формате. ODBC предоставляет такую возможность. Единственный недостаток, это то, что на каждом компьютере, где будет запускаться Ваше приложение, должен быть установлен соответствующий драйвер ODBC. Но думаю, что это не проблемма, так как при установке Microsoft Office 97 этот драйвет устанавливается в систему по умолчанию.

Примечание вебмастера: пример настолько прост, что мне понадобилось всего 3 минуты, на то чтобы вставить кусок приводимой программы в Visual C++, откомпилировать и запустить готовую программку. Excel файл благополучно был создан :) Пример использует обычные SQL-запросы, поэтому каких либо трудностей тут не должно возникнуть ...

Что необходимо

Для того, чтобы всё заработало надо :

  • Добавить в проект #include <AFXDB.H>
  • проверить - установлен ли на компьютере ODBC-драйвер под названием "MICROSOFT EXCEL DRIVER (*.XLS)"

Собственно исходничек:

// пример создаёт Excel файл C:\DEMO.XLS, создаёт в нём таблицу с двумя
// колонками (текстовой и числовой) и добавляет в таблицу три строки.   
//  
void MyDemo::Put2Excel()
{
  CDatabase database;
  CString sDriver = "MICROSOFT EXCEL DRIVER (*.XLS)"; // название драйвера в ODBC-менеджере
  CString sExcelFile = "c:\\demo.xls";                // имя и путь для создаваемого файла
  CString sSql;
    
  TRY
  {
    // Форматируем строку для доступа минуя DSN
       
    sSql.Format("DRIVER={%s};DSN='';FIRSTROWHASNAMES=1;READONLY=FALSE;CREATE_DB=\"%s\";DBQ=%s",
                sDriver, sExcelFile, sExcelFile);

    // Создаём базу данных (всмысле таблицу Excel)
    if( database.OpenEx(sSql,CDatabase::noOdbcDialog) )
    {
      // Создаём структуру таблицы
      sSql = "CREATE TABLE demo (Name TEXT,Age NUMBER)";
      database.ExecuteSQL(sSql);

      // вставляем данные
      sSql = "INSERT INTO demo (Name,Age) VALUES ('Bruno Brutalinsky',45)";
      database.ExecuteSQL(sSql);

      sSql = "INSERT INTO demo (Name,Age) VALUES ('Fritz Pappenheimer',30)";
      database.ExecuteSQL(sSql);

      sSql = "INSERT INTO demo (Name,Age) VALUES ('Hella Wahnsinn',28)";
      database.ExecuteSQL(sSql);
    }      

    // Закрываем базу данных
    database.Close();
  }
  CATCH_ALL(e)
  {
    TRACE1("Driver not installed: %s",sDriver);
  }
  END_CATCH_ALL;
}