Qt5.9.2读取excel

本文介绍了使用Qt5.9.2进行Excel读取的步骤,包括关键代码示例,强调了在关闭Excel时需要注意的事项,以及在特定软件环境下可能遇到的问题。同时展示了程序的最终界面设计效果。
摘要由CSDN通过智能技术生成

Qt5.9.2读取excel 转发请先留言

最近在学习Qt,想做个读写卡工具,卡号来自excel,相当于需要加载excel,这里记录一下读写excel的过程。

先上代码:
头文件代码如下:

#ifndef EXCELMANAGER_H
#define EXCELMANAGER_H

#include <QObject>
#include <QList>

struct ExcelRow
{
   
    //卡号码
    QString cardNum;

    //是否已经使用过了。

    bool usedStatus;
};

Q_DECLARE_METATYPE(ExcelRow);

class ExcelManager : public QObject
{
   
    Q_OBJECT
public:
    explicit ExcelManager(QObject *parent = nullptr);

public:

    QList<ExcelRow> ReadExcel(const QString &filePath);

    int RepairExcel(const QString &filePath,QString content,int row);//row 行 column 列

    int RepairExcelList(const QString &filePath,QList<QString> contents);

signals:
    void signalRefreshProBar(int);
    void signalShowProBar(bool);

public slots:
};

#endif // EXCELMANAGER_H

cpp代码如下:

#include "excelmanager.h"
#include <QFileDialog>
#include <QAxObject>
#include <QVariant>
#include <QList>
#include <QDebug>

#define EXCEL_USED "Used" // 卡号

ExcelManager::ExcelManager(QObject *parent) : QObject(parent)
{
   

}

int ExcelManager::RepairExcel(const QString &filePath,QString content,int row)//row 行 column 列
{
   
    QAxObject excel("Excel.Application"); //加载Excel驱动

    excel.setProperty("Visible", false); //不显示Excel界面,如果为true会看到启动的Excel界面

    excel.setProperty("DisplayAlerts", false);//不显示任何警告信息

    QAxObject* pWorkBooks = excel.querySubObject("WorkBooks");

    pWorkBooks->dynamicCall("Open (const QString&)", filePath);//打开指定文

    QAxObject* pWorkBook = excel.querySubObject("ActiveWorkBook");

    QAxObject* pWorkSheets = pWorkBook->querySubObject("Sheets");//获取工作表

    int nSheetCount = pWorkSheets->property("Count").toInt
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值