既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上C C++开发知识点,真正体系化!
由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新
参考文档:
Qt操作Excel文件 QtXlsxWriter的配置使用说明
Qt下Excel报表生成的又一利器----QtXlsxWriter
http://www.cnblogs.com/lvdongjie/p/4402294.html
问题解决方法:(下载并安装activeperl)
一个简单例子
头文件
#ifndef MAINWINDOW_H
#define MAINWINDOW_H
#include <QMainWindow>
#include <QTableWidget>
#include <QPushButton>
class MainWindow : public QMainWindow
{
Q_OBJECT
public:
MainWindow(QWidget *parent = 0);
~MainWindow();
void init();
private slots:
void slot_writeToExcel();
private:
QTableWidget *tableWidget;
QPushButton *btn;
};
#endif // MAINWINDOW_H
源文件
#include "mainwindow.h"
#include <QTableWidgetItem>
#include <QHeaderView>
#include <QDebug>
#include <QtXlsx>
#include <QVBoxLayout>
#include <QWidget>
#include "xlsxabstractsheet.h"
QTXLSX_USE_NAMESPACE //该命名空间不可少
MainWindow::MainWindow(QWidget *parent)
: QMainWindow(parent)
{
init();
}
MainWindow::~MainWindow()
{
}
void MainWindow::init()
{
//初始化控件和布局
QWidget *widget = new QWidget(this);
QHBoxLayout *hLayout = new QHBoxLayout;
QVBoxLayout *vLayout = new QVBoxLayout;
tableWidget = new QTableWidget(8, 10, widget);
btn = new QPushButton(tr("生成Excel"), widget);
connect(btn, SIGNAL(clicked()), this, SLOT(slot_writeToExcel()));
// hLayout->addSpacing(500);
hLayout->addStretch(10);
hLayout->addWidget(btn);
vLayout->addWidget(tableWidget);
vLayout->addLayout(hLayout);
widget->setLayout(vLayout);
setCentralWidget(widget);
resize(500, 300);
int rows = tableWidget->rowCount(); //行数
int cols = tableWidget->columnCount(); //列数
for(int i = 0; i < rows; i++){
for(int j = 0; j < cols; j++){
QTableWidgetItem *item = new QTableWidgetItem(tr("%1").arg(i+j));
item->setTextAlignment(Qt::AlignCenter);
tableWidget->setItem(i, j, item);
}
}
tableWidget->horizontalHeader()->setSectionResizeMode(QHeaderView::Stretch);
tableWidget->setEditTriggers(QHeaderView::NoEditTriggers); //不可编辑
tableWidget->setSelectionBehavior(QHeaderView::SelectRows); //整行选中
tableWidget->horizontalHeader()->setVisible(false); //隐藏列表头
tableWidget->verticalHeader()->setVisible(false); //隐藏行表头
}
void MainWindow::slot_writeToExcel()
{
QXlsx::Document xlsx;
int rows = tableWidget->rowCount(); //行数
int cols = tableWidget->columnCount(); //列数
QString text;
for(int i = 0; i < rows; i++){
for(int j = 0; j < cols; j++){
text = tableWidget->item(i, j)->text();
xlsx.write(i + 1, j + 1, text);
}
}
QXlsx::Format format; //格式
format.setFont(QFont(tr("华文新魏"))); //字体
format.setFontBold(true); //加粗
format.setFontItalic(true); //倾斜
format.setFontUnderline(Format::FontUnderlineSingle); //下划线
format.setFontColor(Qt::red); //字体颜色
![img](https://img-blog.csdnimg.cn/img_convert/2055e146d7f39cba5defa2df60467630.png)
![img](https://img-blog.csdnimg.cn/img_convert/dea2613ee2da975e17179e9ad2d57b4b.png)
**网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。**
**[需要这份系统化的资料的朋友,可以添加戳这里获取](https://bbs.csdn.net/topics/618668825)**
**一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!**
术提升。**
**[需要这份系统化的资料的朋友,可以添加戳这里获取](https://bbs.csdn.net/topics/618668825)**
**一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!**