我有一个带有数据的 .xlsx 文件。我需要从此文件中提取数据并将其添加到 Qt Creator 中的数据库中
QSqlDatabase db_SQLite =
QSqlDatabase::addDatabase("QSQLITE","sqlite_connection");
db.setDatabaseName("Db");
QSqlDatabase db_XL = QSqlDatabase::addDatabase("QODBC", "xlsx_connection");
db_XL.setDatabaseName("DRIVER={Microsoft Excel Driver (*.xls, *.xlsx, *.xlsm, *.xlsb)};DBQ=" + QString("D:/Sample_Data.xlsx"));
if(db_XL.open())
{
QSqlQuery *query = new QSqlQuery(db_XL);
query->exec("select * from [" + QString("Sheet1") + "$]");
while (query->next())
{
QSqlDatabase db_SQLite = QSqlDatabase::database("sqlite_connection");
if(db_SQLite.open())
{
QSqlQuery * querytoDb = new QSqlQuery(db_SQLite);
querytoDb->exec("CREATE TABLE TableName ("
"DataOne INTEGER,"
"Data2 TEXT,"
"Data3 REAL);")
querytoDb->prepare("INSERT INTO TableName(DataOne, Data2, Data3,) values(:one, :two, :three)");
querytoDb->bindValue(":one",query->value(0).toInt());
querytoDb->bindValue(":two",query->value(0).toDateTime());
querytoDb->bindValue(":three",query->value(0).toDouble());
qDebug()<<querytoDb->exec()<<endl;
}
}
db_XL.close();
QSqlDatabase::removeDatabase("xlsx_connection");
}
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句