# CMakeLists.txt for QXlsx Library
cmake_minimum_required(VERSION 3.16)
project(QXlsx
VERSION 1.4.4
LANGUAGES CXX
)
set(CMAKE_INCLUDE_CURRENT_DIR ON)
set(CMAKE_AUTOMOC ON)
include(GNUInstallDirs)
find_package(QT NAMES Qt6 Qt5 COMPONENTS Core Gui REQUIRED)
find_package(Qt${QT_VERSION_MAJOR} COMPONENTS Core Gui REQUIRED)
if (QT_MAJOR_VERSION EQUAL 6)
set(CMAKE_CXX_STANDARD 17 CACHE STRING "")
else()
set(CMAKE_CXX_STANDARD 11 CACHE STRING "")
endif()
set(CMAKE_CXX_STANDARD_REQUIRED ON)
set(CMAKE_MODULE_PATH ${CMAKE_CURRENT_SOURCE_DIR}/cmake/modules)
if(NOT DEFINED ${QXLSX_PARENTPATH})
set(QXLSX_PARENTPATH ${CMAKE_CURRENT_SOURCE_DIR}/../)
endif(NOT DEFINED ${QXLSX_PARENTPATH})
if(NOT DEFINED ${QXLSX_HEADERPATH})
set(QXLSX_HEADERPATH ${CMAKE_CURRENT_SOURCE_DIR}/../QXlsx/header/)
endif(NOT DEFINED ${QXLSX_HEADERPATH})
if(NOT DEFINED ${QXLSX_SOURCEPATH})
set(QXLSX_SOURCEPATH ${CMAKE_CURRENT_SOURCE_DIR}/../QXlsx/source/)
endif(NOT DEFINED ${QXLSX_SOURCEPATH})
message("Current Path of QXlsx")
message(${QXLSX_PARENTPATH})
message(${QXLSX_HEADERPATH})
message(${QXLSX_SOURCEPATH})
# Due historical reasons this value is kept off
option(BUILD_SHARED_LIBS "Build in shared lib mode" OFF)
set(SRC_FILES
source/xlsxcellrange.cpp
source/xlsxcellrange.cpp
source/xlsxcontenttypes.cpp
source/xlsxdrawinganchor.cpp
source/xlsxrichstring.cpp
source/xlsxworkbook.cpp
source/xlsxabstractooxmlfile.cpp
source/xlsxcellreference.cpp
source/xlsxdatavalidation.cpp
source/xlsxdrawing.cpp
source/xlsxsharedstrings.cpp
source/xlsxworksheet.cpp
source/xlsxabstractsheet.cpp
source/xlsxchart.cpp
source/xlsxdatetype.cpp
source/xlsxformat.cpp
source/xlsxsimpleooxmlfile.cpp
source/xlsxzipreader.cpp
source/xlsxcell.cpp
source/xlsxchartsheet.cpp
source/xlsxdocpropsapp.cpp
source/xlsxmediafile.cpp
source/xlsxstyles.cpp
source/xlsxzipwriter.cpp
source/xlsxcellformula.cpp
source/xlsxcolor.cpp
source/xlsxdocpropscore.cpp
source/xlsxnumformatparser.cpp
source/xlsxtheme.cpp
source/xlsxcelllocation.cpp
source/xlsxconditionalformatting.cpp
source/xlsxdocument.cpp
source/xlsxrelationships.cpp
source/xlsxutility.cpp
header/xlsxabstractooxmlfile_p.h
header/xlsxchartsheet_p.h
header/xlsxdocpropsapp_p.h
header/xlsxformat_p.h
header/xlsxsharedstrings_p.h
header/xlsxworkbook_p.h
header/xlsxabstractsheet_p.h
header/xlsxcolor_p.h
header/xlsxdocpropscore_p.h
header/xlsxmediafile_p.h
header/xlsxsimpleooxmlfile_p.h
header/xlsxworksheet_p.h
header/xlsxcellformula_p.h
header/xlsxconditionalformatting_p.h
header/xlsxdocument_p.h
header/xlsxnumformatparser_p.h
header/xlsxstyles_p.h
header/xlsxzipreader_p.h
header/xlsxcell_p.h
header/xlsxcontenttypes_p.h
header/xlsxdrawinganchor_p.h
header/xlsxrelationships_p.h
header/xlsxtheme_p.h
header/xlsxzipwriter_p.h
header/xlsxchart_p.h
header/xlsxdatavalidation_p.h
header/xlsxdrawing_p.h
header/xlsxrichstring_p.h
header/xlsxutility_p.h
)
set(QXLSX_PUBLIC_HEADERS
header/xlsxabstractooxmlfile.h
header/xlsxabstractsheet.h
header/xlsxabstractsheet_p.h
header/xlsxcellformula.h
header/xlsxcell.h
header/xlsxcelllocation.h
header/xlsxcellrange.h
header/xlsxcellreference.h
header/xlsxchart.h
header/xlsxchartsheet.h
header/xlsxconditionalformatting.h
header/xlsxdatavalidation.h
header/xlsxdatetype.h
header/xlsxdocument.h
header/xlsxformat.h
header/xlsxglobal.h
header/xlsxrichstring.h
header/xlsxworkbook.h
header/xlsxworksheet.h
)
add_library(QXlsx
${SRC_FILES}
${QXLSX_PUBLIC_HEADERS}
)
add_library(QXlsx::QXlsx ALIAS QXlsx)
target_compile_definitions(QXlsx PRIVATE
-DQT_NO_KEYWORDS
-DQT_NO_CAST_TO_ASCII
-DQT_NO_CAST_FROM_ASCII
-DQT_STRICT_ITERATORS
-DQT_NO_URL_CAST_FROM_STRING
-DQT_NO_CAST_FROM_BYTEARRAY
-DQT_USE_QSTRINGBUILDER
-DQT_NO_SIGNALS_SLOTS_KEYWORDS
-DQT_USE_FAST_OPERATOR_PLUS
-DQT_DISABLE_DEPRECATED_BEFORE=0x050F00
)
target_compile_features(QXlsx INTERFACE cxx_std_11)
if (BUILD_SHARED_LIBS)
target_compile_definitions(QXlsx PUBLIC QXlsx_SHAREDLIB)
endif()
target_link_libraries(${PROJECT_NAME}
Qt${QT_VERSION_MAJOR}::Core
Qt${QT_VERSION_MAJOR}::GuiPrivate
)
target_include_directories(QXlsx
PRIVATE
${QXLSX_HEADERPATH}
PUBLIC
$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/header>
$<INSTALL_INTERFACE:include/QXlsx>
)
set_target_properties(QXlsx PROPERTIES
EXPORT_NAME QXlsx
VERSION ${PROJECT_VERSION}
SOVERSION 0
PUBLIC_HEADER "${QXLSX_PUBLIC_HEADERS}"
)
install(TARGETS QXlsx
EXPORT QXlsxTargets DESTINATION ${CMAKE_INSTALL_LIBDIR}
RUNTIME DESTINATION bin COMPONENT runtime
ARCHIVE DESTINATION lib COMPONENT devel
PUBLIC_HEADER DESTINATION include/QXlsx COMPONENT devel
)
install(EXPORT QXlsxTargets
DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/QXlsx/
FILE QXlsxTargets.cmake
NAMESPACE QXlsx::
COMPONENT devel
)
configure_file(${CMAKE_CURRENT_SOURCE_DIR}/cmake/modules/qxlsx-config.cmake.in
${CMAKE_CURRENT_BINARY_DIR}/QXlsxConfig.cmake
@ONLY
)
configure_file(${CMAKE_CURRENT_SOURCE_DIR}/cmake/modules/qxlsx-config-version.cmake.in
${CMAKE_CURRENT_BINARY_DIR}/QXlsxConfigVersion.cmake
@ONLY
)
install(
FILES
${CMAKE_CURRENT_BINARY_DIR}/QXlsxConfig.cmake
${CMAKE_CURRENT_BINARY_DIR}/QXlsxConfigVersion.cmake
DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/QXlsx/
)
include(CPackConfig)
没有合适的资源?快使用搜索试试~ 我知道了~
针对跨平台Qt4的excel操作第三方库的源代码和测试demo(注意:桌面版编译有错,有意者请慎重下载)
共130个文件
h:49个
cpp:35个
o:35个
3星 · 超过75%的资源 需积分: 5 5 下载量 114 浏览量
2023-05-10
09:18:26
上传
评论
收藏 868KB ZIP 举报
温馨提示
针对跨平台Qt4的excel操作第三方库的源代码和测试demo(注意:桌面版编译有错,有意者请慎重下载)。 GitHub上有针对Qt5版本的QXlsx开源库,但是目前社会上一部分企业的产品上用的还是Qt4,所以针对4的需求还是有的。这个版本的库文件目前测试在Linux设备端可以正常工作(在虚拟机下编译不通过,有兴趣和精力的同学可以尝试解决反馈一下),可以同时支持xls/xlsx格式的excel文件,默认生成的路径在/root下,可以传参给saveAs函数使其将文件生成在指定的路径。
资源推荐
资源详情
资源评论
收起资源包目录
针对跨平台Qt4的excel操作第三方库的源代码和测试demo(注意:桌面版编译有错,有意者请慎重下载) (130个子文件)
CPackConfig.cmake 617B
ConsoleXsls 738KB
xlsxworksheet.cpp 91KB
xlsxchart.cpp 78KB
xlsxstyles.cpp 70KB
xlsxdrawinganchor.cpp 47KB
xlsxdocument.cpp 41KB
xlsxformat.cpp 30KB
xlsxconditionalformatting.cpp 29KB
xlsxworkbook.cpp 24KB
xlsxdatavalidation.cpp 18KB
xlsxsharedstrings.cpp 14KB
xlsxcellformula.cpp 12KB
xlsxtheme.cpp 10KB
xlsxutility.cpp 9KB
xlsxcell.cpp 8KB
xlsxdocpropscore.cpp 7KB
xlsxrichstring.cpp 7KB
xlsxcolor.cpp 6KB
xlsxcontenttypes.cpp 6KB
xlsxrelationships.cpp 5KB
xlsxdocpropsapp.cpp 5KB
xlsxchartsheet.cpp 4KB
xlsxcellreference.cpp 4KB
xlsxabstractsheet.cpp 3KB
xlsxcellrange.cpp 3KB
xlsxdrawing.cpp 2KB
moc_xlsxdocument.cpp 2KB
xlsxabstractooxmlfile.cpp 2KB
xlsxnumformatparser.cpp 2KB
xlsxmediafile.cpp 1KB
xlsxdatetype.cpp 1KB
xlsxzipwriter.cpp 1012B
xlsxzipreader.cpp 984B
xlsxsimpleooxmlfile.cpp 642B
main.cpp 466B
xlsxcelllocation.cpp 379B
xlsxformat.h 7KB
xlsxworksheet_p.h 7KB
xlsxworksheet.h 6KB
xlsxchart_p.h 5KB
xlsxstyles_p.h 5KB
xlsxdocument.h 5KB
xlsxdrawinganchor_p.h 5KB
qzipreader_p.h 4KB
qzipwriter_p.h 4KB
xlsxconditionalformatting.h 3KB
xlsxrichstring.h 3KB
xlsxsharedstrings_p.h 3KB
xlsxrelationships_p.h 3KB
xlsxworkbook.h 3KB
xlsxdatavalidation.h 3KB
xlsxformat_p.h 3KB
xlsxcellrange.h 2KB
xlsxsimpleooxmlfile_p.h 2KB
xlsxconditionalformatting_p.h 2KB
xlsxrichstring_p.h 2KB
xlsxnumformatparser_p.h 2KB
xlsxworkbook_p.h 2KB
xlsxchart.h 2KB
xlsxcell.h 2KB
xlsxcontenttypes_p.h 1KB
xlsxcellformula.h 1KB
xlsxcolor_p.h 1KB
xlsxabstractsheet.h 1KB
xlsxcellreference.h 1KB
xlsxutility_p.h 1KB
xlsxdatavalidation_p.h 1KB
xlsxabstractooxmlfile.h 967B
xlsxmediafile_p.h 960B
xlsxdocument_p.h 948B
xlsxdatetype.h 936B
xlsxdocpropsapp_p.h 882B
xlsxglobal.h 878B
xlsxchartsheet.h 785B
xlsxabstractsheet_p.h 740B
xlsxzipreader_p.h 723B
xlsxdrawing_p.h 717B
xlsxcellformula_p.h 699B
xlsxdocpropscore_p.h 687B
xlsxcell_p.h 680B
xlsxabstractooxmlfile_p.h 650B
xlsxzipwriter_p.h 604B
xlsxtheme_p.h 515B
xlsxchartsheet_p.h 474B
xlsxcelllocation.h 431B
qxlsx-config-version.cmake.in 750B
qxlsx-config.cmake.in 420B
Makefile 44KB
xlsxworksheet.o 199KB
xlsxstyles.o 160KB
xlsxdocument.o 109KB
xlsxchart.o 103KB
xlsxdrawinganchor.o 98KB
xlsxconditionalformatting.o 98KB
xlsxworkbook.o 85KB
xlsxdatavalidation.o 64KB
xlsxformat.o 50KB
xlsxsharedstrings.o 44KB
xlsxcontenttypes.o 38KB
共 130 条
- 1
- 2
资源评论
- 康闯2023-10-30编译报错,不知道什么原因!!! #使用过程繁琐
DIANZI520SUA
- 粉丝: 859
- 资源: 28
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 解决未在远程桌面会话中捕获到鼠标,vmguest.iso软件分享给大家
- JSP+SQL基于WEB的开放性实验管理系统设计与实现(源代码+论文+开题报告+中英文献+答辩PPT).rar
- log4net配置文件!!!!!!!!!!!!!!!!!
- 河南统计面板数据集(2010-2022年).xlsx
- OrcaleDBHelper帮助类!!!!!!!!!!!!
- log4net帮助类,用来写日志!!!!!!!!!!!!!
- Windows10时间同步源
- 信呼OA系统2.1.7版源码
- 3122080306 邹子轩 实验报告二.docx
- 基于STM32 NUCLEO板设计彩色LED照明灯(纯cubeMX开发)(大赛作品,文档完整,可直接运行)
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功