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 руб./мес


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




 15 - Пишем в таблицы Excel / ODBC / Visual C++

Шаг 15 - Пишем в таблицы Excel

Привет Артем!
Меня зовут Аня. Я заглянула на твой сайт, но не нашла ответа
на свою проблему. Как из своей программы послать данные в другую
программу, в частности я хочу сохранять свои данные(несколько
массивов чисел) в таблице Excel, чтобы в дальнейшем можно было
бы открыть эти данные в другой программе. Предполагаю, что это
можно сделать с помощью OLE. Очень прошу помоги мне. Посоветуй
хотя бы книгу где это можно найти(на русском языке). Ответ можешь
прислать на мой почтовый ящик.
Аня

Пора положить этому конец. Многие программы нуждаются в том, чтобы сохранять данные в Excel. Давайте сделаем это в конце концов.

Давайте создадим консольное приложение WIN32 Console. Незабудьте поставить использование классов MFC:

15_1.gif (4219 b)

// 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 отдельная таблица является отдельным файлом, что и позволяет так просто создать таблицу. Ну, а откроют ее все. Ведь вам нужно просто вывести данные.

15_2.gif (3524 b)

Если мы хотим автоматически настроить соединение 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 - устанавливает версию драйвера. Вот результат работы программы:

15_3.gif (4954 b)


| |
Автор Каев Артем.
[AD]