一、QT tablewidget数据存储到excel中方法
示例:pandas 是基于NumPy 的一种工具,该工具是为了解决数据分析任务而创建的。
二、使用步骤
1.引入相关库文件
代码如下(示例):
#include "mainwindow.h"
#include "ui_mainwindow.h"
#include <QDebug>
#include <QDesktopServices>
#include <QUrl>
#include <QDateTime>
#include <QFileDialog>
#include <QAxObject>
#include <QMessageBox>
#include <QTextEdit>
#include "qdebug.h"
2.在mainwindow.h中加一个信号槽
代码如下(示例):
#ifndef MAINWINDOW_H
 #define MAINWINDOW_H
#include 
 #include 
QT_BEGIN_NAMESPACE
 namespace Ui { class MainWindow; }
 QT_END_NAMESPACE
class MainWindow : public QMainWindow
 {
 Q_OBJECT
public:
 MainWindow(QWidget *parent = nullptr);
 ~MainWindow();
private slots:
 void on_pushButton_clicked();
 void on_pushButton_clicked2();
private:
 Ui::MainWindow *ui;
 QLabel *lab;
 };
 #endif // MAINWINDOW_H
3.在mainwindow.cpp中加相应的槽函数
代码如下(示例):
 void MainWindow::on_pushButton_clicked2()
 {
 QString filePath = QFileDialog::getSaveFileName(this, “Save Data”, “untitle”,
 "Microsoft Excel 2013(.xlsx)");
 if (!filePath.isEmpty())
 {
 QAxObject excel = new QAxObject(this);
 excel->setControl(“ket.Application”);//wps
 //excel->setControl(“Excel.Application”) //Excel
 excel->dynamicCall(“SetVisible(bool Visible)”, false);
 excel->setProperty(“DisplayAlerts”, false);
 QAxObject* workbooks = excel->querySubObject(“WorkBooks”);
 workbooks->dynamicCall(“Add”);
 QAxObject* workbook = excel->querySubObject(“ActiveWorkBook”);
 QAxObject* worksheets = workbook->querySubObject(“Sheets”);
 QAxObject* worksheet = worksheets->querySubObject(“Item(int)”, 1);
 int rowCount = ui->tableWidget->rowCount();
 int columnCount = ui->tableWidget->columnCount();
 for (int i = 1; i < rowCount + 1; ++i)
 {
 for (int j = 1; j < columnCount + 1; ++j)
 {
 //QAxObject* Range = worksheet->querySubObject(“Cells(int,int)”, i+1, j);
 QAxObject* Range = worksheet->querySubObject(“Cells(int,int)”, i, j);
 Range->dynamicCall(“SetValue(const QString &)”, ui->tableWidget->item(i-1 , j - 1)->text());
 }
 }
 workbook->dynamicCall(“SaveAs(const QString &)”, QDir::toNativeSeparators(filePath));
 if (excel != NULL)
 {
 excel->dynamicCall(“Quit()”);
 delete excel;
 excel = NULL;
 }
 QMessageBox::information(this, QStringLiteral(“提示”), “Exporting data successful”);
 }
 }
总结
以上就是用qt将tablewidget中的数据存储到excle中的方法,大家有疑问可以提问哦










