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。

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

相关推荐
爱吃馒头爱吃鱼25 分钟前
QML编程中的性能优化
开发语言·qt·性能优化
inxunoffice2 小时前
批量将多个 Excel 合并成单个文件|批量按文件夹合并 Excel
数据库·excel
初级代码游戏2 小时前
VSTO(C#)Excel开发4:打印设置
excel·vba·vsto
MiniFlyZt2 小时前
excel的导入和下载(poi)
spring boot·spring·excel
weifexie5 小时前
perl、python、tcl语法中读写Excel的模块
linux·python·excel·perl·tcl
小林up5 小时前
Qt配置OpenGL相机踩的坑
qt
TDengine (老段)6 小时前
TDengine 数据对接 EXCEL
大数据·数据库·sql·excel·时序数据库·tdengine
inxunoffice6 小时前
批量将多个 Excel 拆分成多个文件
excel
恋恋风辰9 小时前
QT系列教程(16) 定时器事件
开发语言·qt·命令模式
SNAKEpc1213812 小时前
Qt开源控件库(qt-material-widgets)的编译及使用
c++·qt·开源