Russian Qt Forum
Апрель 29, 2017, 14:12 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: [1]   Вниз
  Печать  
Автор Тема: Подскажите не могу подключится к Excel  (Прочитано 803 раз)
Zusykss
Новичок

Offline Offline

Сообщений: 33


Просмотр профиля
« : Декабрь 24, 2016, 16:49 »

Код:
QString excelFilePath="C:\\test.xlsx";
       if (QFile::exists(excelFilePath))QFile::remove(excelFilePath);
       QString strDBName = QString("DRIVER={Microsoft Excel Driver (*.xls, *.xlsx, *.xlsm, *.xlsb)};DBQ="+excelFilePath);
       {
           QSqlDatabase db = QSqlDatabase::addDatabase("QODBC3","xls_db");
           db.setDatabaseName(strDBName);
           if (!(db.open())) qDebug()<<"DEBUG: "<<"open DB failed. "<<db.lastError();
           else {
               QSqlQuery query(db);
               if (!query.exec("CREATE TABLE `testdb` (aaa CHAR(128), bbb CHAR(128))"))qDebug()<<"DEBUG: "<<"query exec error. table create failed."<<query.lastError();
               else {


                   qDebug()<<"DEBUG: "<<"table created. inserting values...";
                   if (!query.exec("INSERT INTO testdb VALUES ('"+ QObject::tr("blebleble")+"', '"+QObject::tr("blblabla")+"')"))qDebug()<<"DEBUG: "<<"query exec error. insert values failed."<<query.lastError();
                   else {

                   };
               };
               qDebug()<<"DEBUG: "<<"closing DB..."; db.close();
           };
       };qDebug()<<"DEBUG: "<<"remove connection.";QSqlDatabase::removeDatabase("xls_db");

« Последнее редактирование: Декабрь 24, 2016, 16:58 от Zusykss » Записан
Alex Custov
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 1971


Просмотр профиля
« Ответ #1 : Декабрь 26, 2016, 18:43 »

Что-то я не понял, Excel - это электронные таблицы. БД - это Access.
Записан
Bepec
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 7441


W7 x64, Qt SDK 4.7.2, Руки v1.5


Просмотр профиля
« Ответ #2 : Декабрь 26, 2016, 19:25 »

Excel тоже вроде имеет БД. С 2007 версии чтоли.
Записан

"Мастер простых решений" Ɋt

чОрный список: Spark
Странник
Новичок

Offline Offline

Сообщений: 2


Просмотр профиля
« Ответ #3 : Декабрь 28, 2016, 13:33 »

Точнее говоря, существует ODBC-драйвер для Excel-файлов. Но поделие имеет больше проблем, чем функциональности, так что забудь и ищи нормальные инструменты под задачу.
Записан
Zusykss
Новичок

Offline Offline

Сообщений: 33


Просмотр профиля
« Ответ #4 : Декабрь 29, 2016, 10:06 »

Благодарю за ответы товарищи )

Решил задачу с помощью библиотеки QtXlsx
https://github.com/dbzhang800/QtXlsxWriter
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  

Страница сгенерирована за 0.048 секунд. Запросов: 23.