需求规格说明
要求:将含有x/y数据的excel文件转换为矢量图层并挂接到图层树显示。
设计思路:创建一个ui界面,在界面中能够根据读取的excel文件,选择文件中的字段设置为矢量点的X/Y字段。读取excel文件,获取给定X/Y字段的字段索引,读取这两个字段所在的列,将其转换为坐标对,根据坐标对创建点要素,最后写入shp文件加载到地图中进行显示。
代码实现
在项目工程中添加新建项“Qt Widgets Class”,生成三个文件readExcel.ui、readExcel.h、readExcel.cpp
在Qt Creator中设计界面如下所示:
在readExcel.h中添加代码:
#pragma once
#include <QDialog>
#include "ui_readExcel.h"
class readExcel : public QDialog
{
Q_OBJECT
public:
readExcel(QWidget* parent = nullptr);
~readExcel();
void loadExcelFields(); //添加下拉框内容,选择X、Y坐标
private:
void selectPath(); //选择文件路径
private slots:
void on_pushButton_OK_clicked(); //ok按钮点击事件
void comboBoxXChanged(int index); //选项改变处理事件
void comboBoxYChanged(int index);
private:
Ui::readExcelClass ui;
QString excelFilePath; //路径
};