Russian Qt Forum

Qt => Базы данных => Тема начата: Zusykss от Декабрь 24, 2016, 16:49



Название: Подскажите не могу подключится к Excel
Отправлено: Zusykss от Декабрь 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");
(http://)


Название: Re: Подскажите не могу подключится к Excel
Отправлено: Alex Custov от Декабрь 26, 2016, 18:43
Что-то я не понял, Excel - это электронные таблицы. БД - это Access.


Название: Re: Подскажите не могу подключится к Excel
Отправлено: Bepec от Декабрь 26, 2016, 19:25
Excel тоже вроде имеет БД. С 2007 версии чтоли.


Название: Re: Подскажите не могу подключится к Excel
Отправлено: Странник от Декабрь 28, 2016, 13:33
Точнее говоря, существует ODBC-драйвер для Excel-файлов. Но поделие имеет больше проблем, чем функциональности, так что забудь и ищи нормальные инструменты под задачу.


Название: Re: Подскажите не могу подключится к Excel
Отправлено: Zusykss от Декабрь 29, 2016, 10:06
Благодарю за ответы товарищи )

Решил задачу с помощью библиотеки QtXlsx
https://github.com/dbzhang800/QtXlsxWriter