Разобрался, мой косяк был.
Вот рабочий вариант, метод достаточно быстрый, удобный и грамотный, пользуйтесь, люди.
...
QAxWidget *excel = new QAxWidget("Excel.Application");
//указатель на экель
excel->setProperty("DisplayAlerts", "0");
//отключение предупреждений (не обязательно)
excel->setProperty("Visible", "true");
//делаем видимым (совсем не обязательно
)
QAxObject *workbooks = excel->querySubObject( "Workbooks" );
//указатель на колеекцию книг
QAxObject *shab = workbooks->querySubObject("Open(const QString&)", "<путь_к_файлу_кот._необходимо_заполнить>");
//указатель на конкретную книгу, в данном случае берем готовую по указанному пути
QAxObject *sheet = shab->querySubObject("Worksheets(const QVariant&)",QVariant(<номер_листа_для_заполнения>));
//указатель на страницу в книге которую хотим заполнить
QAxObject *cell = sheet->querySubObject("Range(const QVariant&)", QVariant("ячейка_начала_вставки_результата"));
//указатель на начало вставки результата (левая верхняя ячейка предполагаемого диапазона результата) на этом листе
QAxObject *qts = sheet->querySubObject("QueryTables");
//указатель на список таблиц внешних данных листа
QAxObject *qt = qts->querySubObject(
"Add(const QVariant&, IDispatch*, const QVariant&)",
QVariant("ODBC;DRIVER=SQL Server;SERVER=<ваш_сервер>;UID=<логин>;PWD=<пароль>;DATABASE=<имя_БД>"),
cell->asVariant(),
QVariant("select ..")
);
//указатель на вновь созданную таблицу внешних данных, в параметрах команды вызова: 1. строка подключения к источкику одбц; 2. вот такой адрес ячейки начала вставки результата; 3. сам запрос.
QString s = qt->dynamicCall("Refresh (const QVariant&)", QVariant(true)).toString();
//команда однократного выполнения запроса (еще можно обновление по таймеру запустить)
s вернет тру, если запрос выполнился, ну это вы и так увидите
------------------
с уважением для тех на ком держится
http://www.prog.org.ru