QT跨平台读写Excel

QT跨平台读写Excel

背景

开发框架QT,makefile构建工具CMake,编译器MinGW

Excel工具

考虑跨平台则不能使用针对微软COM组件的QAxObject来读写Excel,因此使用开源QtXlsx。
这里是将QXlsx当做源码嵌入使用

源码下载链接:
QtXlse-Gitee
QtXlse-Github

CMakeLists.txt

powershell 复制代码
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.cpp
    main.cpp
)


# 链接Qt模块
target_link_libraries(Excel_FPD
   Qt5::Core
   Qt5::Widgets
   Qt5::Gui
   Qt5::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。

接口使用方法可以参考官方文档

相关推荐
云空2 小时前
《QT 5.14.1 搭建 opencv 环境全攻略》
开发语言·qt·opencv
小老鼠不吃猫4 小时前
力学笃行(二)Qt 示例程序运行
开发语言·qt
晓纪同学5 小时前
QT创建一个模板槽和信号刷新UI
开发语言·qt·ui
爱码小白7 小时前
PyQt5 学习方法之悟道
开发语言·qt·学习方法
不吃鱼的羊9 小时前
Excel生成DBC脚本源文件
服务器·网络·excel
chenchihwen9 小时前
数据分析时的json to excel 转换的好用小工具
数据分析·json·excel
lxxxxl12 小时前
C#调用OpenXml,读取excel行数据,遇到空单元跳过现象处理
excel
m0_7482463512 小时前
前端通过new Blob下载文档流(下载zip或excel)
前端·excel
人才程序员19 小时前
QML z轴(z-order)前后层级
c语言·前端·c++·qt·软件工程·用户界面·界面