Qt监控excel

配置文件setup.ini内容

[General]
ExcelFilePath=D:/项目资料/GSC-西门子开关/GSCOPC.xlsx
GameIp=192.168.1.152
GamePort=3000
4DSystemIp=192.168.1.152
4DSystemPort=21392
UdpDataToGame=Play
UdpDataTo4DSystem=AS%NPlayDirect%1%

工程文件中QT+=axcontainer network sql

mainwindow.h

#ifndef MAINWINDOW_H
#define MAINWINDOW_H

#include <QAxObject>
#include <QDateTime>
#include <QMainWindow>
#include <QSqlDatabase>
#include <QTimer>

#include <QtNetwork/QUdpSocket>

namespace Ui {
class MainWindow;
}

class MainWindow : public QMainWindow
{
    Q_OBJECT

public:
    explicit MainWindow(QWidget *parent = 0);
    ~MainWindow();

    void sendUdpData();
    void ODBCExcel();
private slots:
    void queryExcel();
    void unclockStartBtn();

private:
    Ui::MainWindow *ui;
    QAxObject *excel;
    QAxObject *work_books;
    QAxObject *work_book;

    QTimer* queryTimer;//监测Excel定时器
    QTimer* unclockStartBtnTimer;//解锁开始按钮状态

    QUdpSocket* udpSocket;

    QString ExcelFilePath;//检测的excel文件路径
    QString GameIp;//游戏主机IP
    quint16 GamePort;//游戏UDP绑定的端口
    QString FourDSystemIp;//4D系统IP
    quint16 FourDSystemPort;//4D系统UDP绑定的端口
    QString UdpDataToGame;//向游戏发送的UDP数据
    QString UdpDataTo4DSystem;//向4D系统发送的UDP数据
    QSqlDatabase db;

    bool startButtonFlag;//“开始”按钮是否被按下
    bool stopButtonFlag;//“停止”按钮是否被按下
    QDateTime startBtnPressTime;//开始按钮按下的时间
    int startBtnCnt;//开始按钮被按下的次数
};



#endif // MAINWINDOW_H

mainwindow.cpp

#ifndef MAINWINDOW_H
#define MAINWINDOW_H

#include <QAxObject>
#include <QDateTime>
#include <QMainWindow>
#include <QSqlDatabase>
#include <QTimer>

#include <QtNetwork/QUdpSocket>

namespace Ui {
class MainWindow;
}

class MainWindow : public QMainWindow
{
    Q_OBJECT

public:
    explicit MainWindow(QWidget *parent = 0);
    ~MainWindow();

    void sendUdpData();
    void ODBCExcel();
private slots:
    void queryExcel();
    void unclockStartBtn();

private:
    Ui::MainWindow *ui;
    QAxObject *excel;
    QAxObject *work_books;
    QAxObject *work_book;

    QTimer* queryTimer;//监测Excel定时器
    QTimer* unclockStartBtnTimer;//解锁开始按钮状态

    QUdpSocket* udpSocket;

    QString ExcelFilePath;//检测的excel文件路径
    QString GameIp;//游戏主机IP
    quint16 GamePort;//游戏UDP绑定的端口
    QString FourDSystemIp;//4D系统IP
    quint16 FourDSystemPort;//4D系统UDP绑定的端口
    QString UdpDataToGame;//向游戏发送的UDP数据
    QString UdpDataTo4DSystem;//向4D系统发送的UDP数据
    QSqlDatabase db;

    bool startButtonFlag;//“开始”按钮是否被按下
    bool stopButtonFlag;//“停止”按钮是否被按下
    QDateTime startBtnPressTime;//开始按钮按下的时间
    int startBtnCnt;//开始按钮被按下的次数
};



#endif // MAINWINDOW_H
原文地址:https://www.cnblogs.com/coolbear/p/7144928.html