您的位置:首页 > 科技 > 能源 > windows下 Qt 操作xlsx 和 csv

windows下 Qt 操作xlsx 和 csv

2024/10/31 9:51:04 来源:https://blog.csdn.net/qq_35662333/article/details/139475113  浏览:    关键词:windows下 Qt 操作xlsx 和 csv

需求:

工作中遇到一个需求,有两张表格,一个xlsx表,一个csv表格,格式如下:

以csv表格中船台标识为基础,读取xlsx中的数据,如果存在该MMSI则把船名写道csv中对应船名的后面,不存在的话,则添加进csv中,合并两个表格。由于表格数据非常多,有十几万个,所以只能通过程序判断。

提前声明:该代码仅供参考,速度很慢。建议用插件QtXlsxWriter来读写xlsx文件

代码:

pro文件

QT       += core guigreaterThan(QT_MAJOR_VERSION, 4): QT += widgetsCONFIG += c++17CONFIG += qaxcontainer# You can make your code fail to compile if it uses deprecated APIs.
# In order to do so, uncomment the following line.
#DEFINES += QT_DISABLE_DEPRECATED_BEFORE=0x060000    # disables all the APIs deprecated before Qt 6.0.0SOURCES += \main.cpp \widget.cppHEADERS += \widget.hFORMS += \widget.ui# Default rules for deployment.
qnx: target.path = /tmp/$${TARGET}/bin
else: unix:!android: target.path = /opt/$${TARGET}/bin
!isEmpty(target.path): INSTALLS += target

widget.h

#ifndef WIDGET_H
#define WIDGET_H#include <QWidget>QT_BEGIN_NAMESPACE
namespace Ui {
class Widget;
}
QT_END_NAMESPACEclass Widget : public QWidget
{Q_OBJECTpublic:Widget(QWidget *parent = nullptr);~Widget();void readXls(const QString& file_path);void read_csv(const std::string& file_path);void write_csv(const std::string& file_path);void judge();private:Ui::Widget *ui;std::vector<std::string> path_point;std::vector<std::string> path_xlsx;// QStringList str;std::vector<std::string> path_point_new;std::vector<std::string> path_xlsx_new;QStringList str_new;
};
#endif // WIDGET_H

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com