Range Excel Sql
-
wrote on 29 Nov 2018, 11:04 last edited by
Seguendo l'esempio di un tutorial per l'interrogazione di un file xls, mi sono trovato a scrivere questa linea di codice
if(db.open()) { QSqlQuery *query = new QSqlQuery(db); query->exec("select * from [" + QString("Foglio1")+"$A1:B5]"); while (query->next()) { QString column1 =query->value(0).toString(); qDebug() << column1; } db.close(); QSqlDatabase::removeDatabase("xls_connection"); }
Ma con mia sorpresa i valori che sono stati estrapolati erano esattamente di A2 A3 A4 A5.
Visto che avevo riempito solo le prime cinque caselle delle prime due colonne cosa non ha funzionato e come devo correggere ? -
wrote on 30 Nov 2018, 08:09 last edited by Polly
Allora ho fatto alcune prove . Ho aumentato il Range e ho notato che i record considerati iniziano dal secondo record della colonna, come se il primo fosse considerato l'intestazione (sarĂ da fare accertamenti).
E che attraverso la funzione value lui considera le varie colonne del range; ovviamente inizia il conteggio da 0 come prima considerata.
Al momento lo considererei risolto ma parte quindi il dubbio relativo all'intestazione della colonna. -
wrote on 1 Dec 2018, 08:34 last edited by
Ciao, sperando che il file excel sia fatto bene costruisci una query normale, togliendo l'asterisco e mettendoci il nome delle colonne che ti servono. Il nome delle colonne va messo nel primo record.
3/3