Использование ODBC в Visual C++ - Пишем в таблицы Excel

ОГЛАВЛЕНИЕ

Пишем в таблицы Excel

Давайте создадим консольное приложение WIN32 Console. Незабудьте поставить использование классов MFC:
// TestConfig.cpp : Defines the entry point for the console application.
//


#include "stdafx.h"
#include "afxwin.h"
#include "iostream.h"
#include "afxdb.h"

void main()
{
CDatabase cdbMyDB;
cdbMyDB.Open("New Excel Data Source");
cdbMyDB.ExecuteSQL("CREATE TABLE mydata (FirstName TEXT,LastName TEXT)");
cdbMyDB.ExecuteSQL("INSERT INTO mydata (FirstName,LastName) VALUES('Kaev','Artem');");
cdbMyDB.Close();
}

Только есть одна хитрость, версию драйвера нужно использовать Excel 4.0. В Excel 4.0 отдельная таблица является отдельным файлом, что и позволяет так просто создать таблицу. Ну, а откроют ее все. Ведь вам нужно просто вывести данные.

Если мы хотим автоматически настроить соединение ODBC при установке программного обеспечения, то нам нужно изменить немного код прошлого шага для установки текущего каталога и версии.

if (!SQLConfigDataSource(NULL,ODBC_ADD_DSN,
"Microsoft Excel Driver (*.xls)",
"DSN=New Excel Data Source\0"
"Description=New Excel Data Source\0"
"DriverId=278\0"
"DefaultDir=C:\\ExcelData\0"
"MaxScanRows=8\0"))
{
cout << "Error config ODBC" << endl;
}

Параметр DefaultDir устанавливает текущий каталог. DriverID - устанавливает версию драйвера.