一、项目介绍
利用Qt读取Excel表格。
二、项目基本配置
2.1 添加基础文件
这里我写了操作Excel的两个基础文件,分别为exceloperater.h和exceloperater.cpp。需要用的时候直接在Headers和Sources内右键添加现有文件,将其加入即可。
这里简单介绍一下这两个文件。exceloperater.cpp文件封装了几个函数,分别为:
void createExcel(QString fileName);
void saveExcel();
void quitExcel();
void operaterOver();
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_selectFile | QPushButton | 选择文件 | pushButton | QPushButton | 写入一个元素 | lineEdit_sheet | Line Edit | sheet1 |
四、主程序实现
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())
{
m_excel->createExcel(m_operaterFileName);
m_excel->getSheetListFromWorkBook();
}
}
点击写入一个元素按钮写入元素text:
void Widget::on_pushButton_clicked()
{
QString text="123";
m_excel->setCellValue(1, 1, text);
m_excel->operaterOver();
}
五、效果演示
ok!以上便是利用Qt读取Excel表格并导出为txt文档的基础内容了。
|