Задать вопрос
@shupike

Как на C++ вывести результаты SQL-запроса в Excel?

Всем доброго времени суток! Подскажите, если кто помнит-как в старинной Visual Studio (Visual C++ 6, MFC) вывести результат SQL-запроса в Excel? Сам лист Excel формируется, разобрался с границами/цветом ячеек и прочим:
// инициализация приложения Word
_Application oAp;
oAp.CreateDispatch("Excel.Application");
if (!oAp)
{
AfxMessageBox("Невозможно запустить Excel.");
return;
}
Workbooks oBooks; //объявляем коллекцию "рабочих книг"
oBooks = oAp.GetWorkbooks(); // и получаем список книг
_Workbook oBook; //объявляем конкретный экземпляр (класс _Workbook)
oBook = oBooks.Add(vOpt); //добавляем к существующей коллекции новую книгу

Worksheets oSheets; //объявляем коллекцию "рабочих листов"
oSheets = oBook.GetWorksheets(); //и получаем список листов
_Worksheet oSheet; //объявляем конкретный экземпляр (класс _Worksheet)
Range oRange; //объявляем экземпляр класса Range, отвечающего за заполнение ячеек

Непонятно, как пробежаться по итогам запроса и построчно вывести это на лист. Вот как я формирую запрос к базе:
TRY
{
//Открываем базу данных
database.Open(NULL,false,false,sDsn);
///////////////////////////ноутбуки////////////////////////////////////////
//Формируем запрос
CRecordset recset( &database );
SqlString = "SELECT name FROM table1";

recset.Open(CRecordset::forwardOnly,SqlString,CRecordset::readOnly);

//Входим в цикл, пробегая по каждой записи
while( !recset.IsEOF() )

{
recset.GetFieldValue("name",sDeviceName);
recset.MoveNext();
}
//закрываем базу данных
recset.Close();
database.Close();
}
CATCH(CDBException, e)
{
// If a database exception occured, show error msg
AfxMessageBox("Database error: "+e->m_strError);
}
END_CATCH;
Обычно все это легко можно вывести в поле со списком, но как в этом цикле вызывать нужную строку листа Excel и вставлять туда текущее значение переменной? Заранее признателен за помощь.
  • Вопрос задан
  • 173 просмотра
Подписаться 1 Простой Комментировать
Пригласить эксперта
Ответы на вопрос 1
@rPman
Первый же ответ в документацию из гугла
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы