В ОДБЦ-администраторе есть такой драйвер EXCEL. Так у меня он чё-то не предоставляет данных никаких...
Как им пользоваться?
Здравствуйте lexas, Вы писали:
L>В ОДБЦ-администраторе есть такой драйвер EXCEL. Так у меня он чё-то не предоставляет данных никаких...
L>Как им пользоваться?
Береш МСДН, в сёрче пишешь "ExcelAdo" (слитно), тебе вывалится (в моем мсдн первой строчкой):
"SAMPLE: ExcelADO Demonstrates How to Use ADO to Read and Write Data in Excel Workbooks"
ну и рабераешься.....
Здравствуйте lexas, Вы писали:
L>Здравствуйте Toughpheeckouse, Вы писали:
L>ТАК ВОТ! нифига не нашло. У меня MSDN July 2000, может у тебя новее?
ага ноябрьский... ща на мыло кину статью... тока там про Бейсик... но в принципе какая разница....
тама *.exe1 переименую в *.exe
Здравствуйте lexas, Вы писали:
L>В ОДБЦ-администраторе есть такой драйвер EXCEL. Так у меня он чё-то не предоставляет данных никаких...
L>Как им пользоваться?
Что значит не предоставляет данных никаких.
T>ага ноябрьский... ща на мыло кину статью... тока там про Бейсик... но в принципе какая разница....
T>тама *.exe1 переименую в *.exe
MERCI! Но вот беда — это ведь про ADO. А вот именно через ODBC как?
Здравствуйте lexas, Вы писали:
L>В ОДБЦ-администраторе есть такой драйвер EXCEL. Так у меня он чё-то не предоставляет данных никаких...
L>Как им пользоваться?
А вот что предлагают на
www.sources.ru :
Создание файла 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;
}
Здравствуйте Koumandin, Вы писали:
K>А вот что предлагают на www.sources.ru :
K>Создание файла Excel используя ODBC.
K>Автор: Alexander Mikula
Мужык, ты гений!!!! Всё работает!!!
Здравствуйте, lexas, Вы писали:
L>Здравствуйте Koumandin, Вы писали:
K>>А вот что предлагают на www.sources.ru :
K>>Создание файла Excel используя ODBC.
K>>Автор: Alexander Mikula
L>Мужык, ты гений!!!! Всё работает!!!
Всё класно да. Но можно ли как то повлиять на ширину столбцов? А так при открытии они все одного размера по умолчанию.