C++读取excel学习笔记

2023-12-15 10:44:42

找到一个库

https://github.com/troldal/OpenXLSX

linux下库编译

修改cmakelist.txt文件
设置安装路径 添加这句话
set(CMAKE_INSTALL_PREFIX "/root/gitlab/xdevice-platform-newbranch_test/xdevice-platform/thirdparty/libopenxlsx")


mkdir build
cd build
cmake ..

cmake --build . --target OpenXLSX --config Release

编译 这个编译要点时间
 make -j8
安装
 make install

windows下的编译【编译成功】

配置编译生成的第三方库的安装路径
在cmakelist.txt中 添加这句话
set(CMAKE_INSTALL_PREFIX "D:/zjf_study_record/C++_read_excel/1/OpenXLSX/333")
保存

右键cmakelist.txt 选中用cmake-gui打开、配置编译器
确保编译器路径已经添加到环境变量 要求mingw版本大于7,不然编译会失败
查看gcc --version 版本的指令
第一次点击cmake-gui里面configure 会提示选择编译器,系统环境变量配置好,就选default就可以了

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

点击generate 相当于执行了cmake
cmake配置文件
编译
mingw32-make.exe -j8
报错

[ 43%] Linking CXX static library ..\..\..\output\libbenchmark.a
[ 43%] Built target benchmark
Makefile:134: recipe for target 'all' failed
mingw32-make: *** [all] Error 2

在这里插入图片描述

问题定位了
mingw的版本需要用7以上的,在readme里面也讲了版本需求
我将环境变量设置到qt5.12.12  使用的mingw版本大于7 编译安装都成功了。
安装
mingw32-make.exe install

在这里插入图片描述

使用

静态库引入与编译

编译cmake
需要是C++17的标准,cmakelist修改配置
set ( CMAKE_CXX_FLAGS "-g -std=c++17" )

包含头文件
include_directories ( $ENV{XPL_THIRDPARTY_DIR}/libopenxlsx/include/OpenXLSX)


导入数据库
add_library ( openxlsx STATIC IMPORTED )
set_property (TARGET openxlsx PROPERTY IMPORTED_LOCATION $ENV{XPL_THIRDPARTY_DIR}/libopenxlsx/lib/libOpenXLSX.a)
target_link_libraries ( ${CMAKE_PROJECT_NAME} PRIVATE pthread openxlsx)


具体API调用就看example里面的函数就可以了。很好懂的

API用法

参考example里面的代码,很好懂的

文章来源:https://blog.csdn.net/teaczjf/article/details/135008590
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。