QT跨平台读写Excel
- 背景
- Excel工具
- CMakeLists.txt
- 工程目录
背景
开发框架QT,makefile构建工具CMake,编译器MinGW
Excel工具
考虑跨平台则不能使用针对微软COM组件的QAxObject来读写Excel,因此使用开源QtXlsx。
这里是将QXlsx当做源码嵌入使用
源码下载链接:
QtXlse-Gitee
QtXlse-Github
CMakeLists.txt
cmake_minimum_required(VERSION 3.5)#定义工程name
project(Excel_FPD)# 添加Qt模块
find_package(Qt5 COMPONENTS Core Widgets Gui REQUIRED)
set(CMAKE_AUTOMOC ON)
set(CMAKE_AUTOUIC ON)
set(CMAKE_AUTORCC ON)# 设置C++标准
set(CMAKE_CXX_STANDARD 11)# 定义宏
add_compile_definitions(XLSX_NO_LIB)# 设置路径变量
set(QXLSX ${CMAKE_CURRENT_SOURCE_DIR}/3rdparty/qtxlsx)# 包含路径
include_directories(${QXLSX})# 查找QXLSX相关的头文件和cpp文件
file(GLOB QXLSX_HEADERS ${QXLSX}/*.h)
file(GLOB QXLSX_SOURCES ${QXLSX}/*.cpp)# 添加可执行文件
add_executable(Excel_FPD${QXLSX_SOURCES}excelengine.cppmain.cpp
)# 链接Qt模块
target_link_libraries(Excel_FPDQt5::CoreQt5::WidgetsQt5::GuiQt5::GuiPrivate
)# 默认部署规则
#if(QNX)
# set(target_path /tmp/${TARGET}/bin)
#elseif(UNIX AND NOT ANDROID)
# set(target_path /opt/${TARGET}/bin)
#else()
# set(target_path ${CMAKE_CURRENT_SOURCE_DIR}/bin)
#endif()#if(NOT target_path STREQUAL "")
# install(TARGETS Excel_FPD DESTINATION ${target_path})
# message("here is target_path ${target_path}")
#endif()
工程目录
这里是将qtxlsxwriter-master\src\xlsx源码直接拷贝到目录qtxlsx下,删除无用的.pro和.pri文件,因为我使用CMake,不使用qmake。
接口使用方法可以参考官方文档