IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> C++知识库 -> Qt实战案例(4)——利用Qt读取Excel表格 -> 正文阅读

[C++知识库]Qt实战案例(4)——利用Qt读取Excel表格

一、项目介绍

利用Qt读取Excel表格。

二、项目基本配置

2.1 添加基础文件

这里我写了操作Excel的两个基础文件,分别为exceloperater.h和exceloperater.cpp。需要用的时候直接在Headers和Sources内右键添加现有文件,将其加入即可。

这里简单介绍一下这两个文件。exceloperater.cpp文件封装了几个函数,分别为:

void createExcel(QString fileName);//创建Excel文件
void saveExcel();//保存Excel文件
void quitExcel();//退出Excel文件
void operaterOver();//保存并退出Excel文件
void setCellValue(const int &row,const int &colum,const QString &text);//向单元格写入数据
int getSheetIndex(const QString &sheetName) const;//返回工作表索引
void setCurrentWorkSheet(const int &index);//设置当前工作表
int getWorkSheetCount();//获取工作表个数
void getSheetListFromWorkBook();//获取工作表
bool judgeExistSheet(const QString &sheetName);//判断工作簿种是否存在指定的工作表
void addNewSheet(const QString &sheetName);//添加新的工作表
QStringList getSheetsList() const;//获取工作表列表
void getCurrentSheetData();//获取工作表中的数据

有需要的可以到这里下载:

2.2 添加axcontainer

记住:若要操作Excel文件,首先要在pro项目种添加QT+=axcontainer
在这里插入图片描述

三、UI界面设计

基础UI界面如下:
在这里插入图片描述
界面中创建了3个控件,其名称和类型如下表所示:

名称类型属性
pbt_selectFileQPushButton选择文件
pushButtonQPushButton写入一个元素
lineEdit_sheetLine Editsheet1

四、主程序实现

4.1 widget.h头文件

核心代码如下:

private slots:
    void on_pbt_selectFile_clicked();
    void on_pushButton_clicked();

private:
    Ui::Widget *ui;
    ExcelOperater *m_excel;
    QString m_operaterFileName;
    QMap<QString,QString> m_MapStrStr;
    void setTableWidgetData();

4.2 widget.cpp源文件

主程序:

    m_excel = new ExcelOperater;
    m_operaterFileName.clear();

点击选择文件按钮选择文件:

//选择操作的文件
void Widget::on_pbt_selectFile_clicked()
{
    m_excel->operaterOver();
    m_operaterFileName = QFileDialog::getOpenFileName(this, tr("Open File"),
                                                        QDir::currentPath(),tr("excel files(*.xls *.xlsx)"));
    qDebug() << "操作的文件:" << m_operaterFileName;
    ui->lineEdit_sheet->setText(m_operaterFileName);//显示
    if(!m_operaterFileName.isEmpty())
    {
//        QMessageBox::information(this,"提示",tr("已选择%1.xls文件").arg(QFileInfo(m_operaterFileName).baseName()),QMessageBox::Yes);

        m_excel->createExcel(m_operaterFileName);
        //获取工作表
        m_excel->getSheetListFromWorkBook();
    }
}

点击写入一个元素按钮写入元素text:

//获取excel第一行的数据
void Widget::on_pushButton_clicked()
{
    QString text="123";
    m_excel->setCellValue(1, 1, text);
    m_excel->operaterOver();

}

五、效果演示

在这里插入图片描述
ok!以上便是利用Qt读取Excel表格并导出为txt文档的基础内容了。

  C++知识库 最新文章
【C++】友元、嵌套类、异常、RTTI、类型转换
通讯录的思路与实现(C语言)
C++PrimerPlus 第七章 函数-C++的编程模块(
Problem C: 算法9-9~9-12:平衡二叉树的基本
MSVC C++ UTF-8编程
C++进阶 多态原理
简单string类c++实现
我的年度总结
【C语言】以深厚地基筑伟岸高楼-基础篇(六
c语言常见错误合集
上一篇文章      下一篇文章      查看所有文章
加:2021-09-10 10:40:43  更:2021-09-10 10:41:26 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/23 20:50:43-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码