QT中以ODBC Excel为数据源将数据显示到QTableView时,首行首列及表格都有显示,但是没有数据内容。代码如下,求指教。
db = QSqlDatabase::addDatabase("QODBC");
if(!db.isValid())
{
qDebug() << "export2Excel failed: QODBC not supported.";
return false;
}
QString dsn = QString("DRIVER={Microsoft Excel Driver (*.xls)};DBQ=%1").arg(xlsFile);
db.setDatabaseName(dsn);
if(!db.open())
{
//错误处理
}
QSqlQueryModel *model = new QSqlQueryModel(tableview);
model->setQuery(QString("select * from [sheet1$];"));
while(model->canFetchMore())
model->fetchMore();
tableview->setModel(model);
tableview->setSelectionMode(QAbstractItemView::SingleSelection);
tableview->setSelectionBehavior(QAbstractItemView::SelectRows);
tableview->setColumnHidden(Stu_Id, false);
tableview->resizeColumnsToContents();
tableview->setEditTriggers(QAbstractItemView::NoEditTriggers);
db.close();