qt读写excel文件主要插件|QT 如何读取大数据量的Excel文件

qt读写excel文件主要插件|QT 如何读取大数据量的Excel文件的第1张示图

① 怎么用Qt读写excel的数据

QAxWidget excel("Excel.Application"); 1) 显示当前窗口: excel.setProperty("Visible", true); 2) 更改 Excel 标题栏: excel.setProperty("Caption", "Invoke Microsoft Excel");

② 如何用Qt读写excel的数据

QAxWidget excel("Excel.Application");1) 显示当前窗口:excel.setProperty("Visible", true);2) 更改 Excel 标题栏:excel.setProperty("Caption", "Invoke Microsoft Excel");3) 添加新工作簿:QAxObject * workbooks = excel.querySubObject("WorkBooks");workbooks->dynamicCall("Add");4) 打开已存在的工作簿:workbooks->dynamicCall("Open (const QString&)", QString("c:/test.xls"));5) 获取活动工作簿:QAxObject * workbook = excel.querySubObject("ActiveWorkBook");6) 获取所有的工作表:QAxObject * worksheets = workbook->querySubObject("WorkSheets");7) 获取工作表数量:int intCount = worksheets->property("Count").toInt();8) 获取第一个工作表:QAxObject * worksheet = workbook->querySubObject("Worksheets(int)", 1);9) 获取cell的值:QAxObject * range = worksheet->querySubObject("Cells(int,int)", 1, 1 );

③ Qt操作Excel

如果设置后台启动报错的话,那提供一种无奈之选,就是,设置窗口可见,然后

excel->setProperty("WindowState","xlMinimized");

将窗口最小化,将就一下

④ 关于qt与excel

QSqlDatabase db = QSqlDatabase::addDatabase("QODBC");if(!db.isValid()){qDebug() << "export2Excel failed: QODBC not supported.";return ;}QString xlsFile = "D:/test.xls";QString dsn = QString("DRIVER={Microsoft Excel Driver (*.xls)};Readonly=0;DriverId=790;DBQ=%1").arg(xlsFile);db.setDatabaseName(dsn);if(!db.open()){//错误处理return;}QString queryystr = "select * from [sheet1$]";SqlTableModel*excelTableModel = new SqlTableModel(this, db);QString tableName = "[sheet1$]";excelTableModel->setTable(tableName);QSqlQuery querry(queryystr, db);excelTableModel->setQuery(querry);excelTableModel->setEditStrategy(QSqlTableModel::OnManualSubmit);excelTableModel->setSort(0, Qt::AscendingOrder);bool ok = excelTableModel->select(); //选取整个表的所有行ui.tableView_2->setModel(excelTableModel);int i = 0;foreach(QString heardName, heardList){excelTableModel->setHeaderData(i, Qt::Horizontal, heardName);i++;}int sqlTableCount = m_sqlTableModel->rowCount();int excelTableCount = excelTableModel->rowCount();QList<QSqlRecord> tmprecord;for (int row = 0; row < excelTableCount; row++ ){QSqlRecord excelRecord = excelTableModel->record(row);tmprecord << excelRecord;}db.close();bool open = m_dba.open();foreach(QSqlRecord record, tmprecord){bool ok = m_sqlTableModel->insertRow(sqlTableCount); //添加一行for (int k = 0; k<5;k++){if (k == 0){bool suc= m_sqlTableModel->setData(m_sqlTableModel->index(sqlTableCount,k),record.value(k), Qt::CheckStateRole);}bool suc= m_sqlTableModel->setData(m_sqlTableModel->index(sqlTableCount,k),record.value(k), Qt::EditRole);}sqlTableCount++;}AlterButtonClicked();initWindow(TEACHERMANAGECLICKED);AlterButtonClicked(){m_sqlTableModel->database().transaction(); //开始事务操作 if (m_sqlTableModel->submitAll()) { m_sqlTableModel->database().commit(); //提交 } else { m_sqlTableModel->database().rollback(); //回滚 QMessageBox::warning(this, tr("Model"), tr("数据库错误: %1").arg(m_sqlTableModel->lastError().text())); } }initWindow(int index){int i = 0;heardList.clear();if (index == STUDENTMANAGECLICKED){heardList << "选择" << "编号" << "姓名" << "性别" << "班级" << "备注";m_sqlTableModel->setTable("\"StudentInfo\"");m_sqlTableModel->setEditStrategy(QSqlTableModel::OnManualSubmit);m_sqlTableModel->setSort(0, Qt::AscendingOrder);m_sqlTableModel->select(); //选取整个表的所有行ui.tableView_2->setModel(m_sqlTableModel);foreach(QString heardName, heardList){m_sqlTableModel->setHeaderData(i, Qt::Horizontal, heardName);i++;} }else if (index == TEACHERMANAGECLICKED){heardList << "选择" << "用户名" << "姓名" << "性别" << "角色" << "备注";m_sqlTableModel->setTable("\"TeacherInfo\"");m_sqlTableModel->setEditStrategy(QSqlTableModel::OnManualSubmit);m_sqlTableModel->setSort(0, Qt::AscendingOrder);bool ok1 = m_sqlTableModel->select(); //选取整个表的所有行ui.tableView_2->setModel(m_sqlTableModel);foreach(QString heardName, heardList){m_sqlTableModel->setHeaderData(i, Qt::Horizontal, heardName);i++;}}//m_sqlTableModel->insertColumn(0);ui.tableView_2->resizeColumnsToContents();}

⑤ 新手的老问题,怎么用qt读取excel

Qt操作Excel,无论后缀是xls还是xlsx都可以。 1.如下,是下载的一个Excel VBA参考手册,内容不算太全!2.Excel读取为了便于测试,假设已存在一个excel文件,操作内容已经被红色标记出来。如下所示:主要读取内容:标题工作表数目工作表名称起始行起始列行数列数单元格内容代码如下: QAxObject excel("Excel.Application"); excel.setProperty("Visible", true); QAxObject *work_books = excel.querySubObject("WorkBooks"); work_books->dynamicCall("Open (const QString&)", QString("E:/test.xlsx"));QVariant title_value = excel.property("Caption"); //获取标题 qDebug()<<QString("excel title : ")<<title_value; QAxObject *work_book = excel.querySubObject("ActiveWorkBook"); QAxObject *work_sheets = work_book->querySubObject("Sheets"); //Sheets也可换用WorkSheets

⑥ qt 打开excel

用QODBC,比QAxObject,读取、写入Excel;快的多!或者用libxls;

⑦ 用qt读写excel文件一定要安装excel么

方法/步骤首先,我们要创建一个项目并进行初步的项目设置,过程参见本系列文章的第一篇。这里就不再多说了,我们将项目文件从qtcreator中打开。为了显示读取到的数据,我们先在界面文件中添加一个Label,如果读取了数据可以在这里显示一下进行验证。然后,打开mainwindow.cpp文件,在其中引入适当的头文件,具体如图中所示。接着,我们在头文件中打开置顶的excel文件,并对其中的对象类进行配置,因为前文已经介绍过,就不详细说了,具体代码如下: QAxObject excel("Excel.Application"); excel.setProperty("Visible",false); QAxObject *workbooks = excel.querySubObject("WorkBooks"); workbooks->dynamicCall("Open (const QString&)",QString("c:/a.xls")); QAxObject *workbook = excel.querySubObject("ActiveWorkBook");//获取活动工作簿 QAxObject *worksheets = workbook->querySubObject("WorkSheets");//获取所有的工作表,如图然后,我们开始获取第一工作表。通过range查询对应的cell,然后获取cell中value值。代码如下: QAxObject *range = worksheet->querySubObject("Cells(int,int)",1,1); //获取cell的值 QString strVal = range->dynamicCall("Value2()").toString();接着,我们将得到的strVal显示label上用于验证是否成功读取。我们再在c盘下新建一个a.xls文件,并且在第一个单元格输入一个字符串,如图所示.之后,我们用程序运行下,查看程序是否达到预期的效果.可以看到程序运行成功了.

⑧ QT 如何读取大数据量的Excel文件

1.貌似Excel最多只有1048576行,你这150万行我不知道是怎么放到一个表里面的。2.数据100多玩行你可以将数据存放在Access或者其他的数据库中或许会比较好一点。

⑨ QT中有什么控件可以实现向excel的表格显示

QTableWidget和/QStandardItemModel

//tableWidget例子QTableWidget*tableWidget=newQTableWidget(this);tableWidget->setRowCount(10);setColumnCount(5);//tableview的例子QStandardItemModelmodel(4,4);for(introw=0;row<4;++row){for(intcolumn=0;column<4;++column){QStandardItem*item=newQStandardItem(QString("row%0,column%1").arg(row).arg(column));model.setItem(row,column,item);}}QTableView*tableView=newQTableView(this);tableView->setModel(&model);

⑩ Qt实现一个表格,具有excel功能

Qt实现一个表格,具有excel功能?都有吧 你可以多试试几个表格

未经允许不得转载:山九号 » qt读写excel文件主要插件|QT 如何读取大数据量的Excel文件

赞 (0)