From cd0d3f76ad0a0912223b1385b3285e12bf3738ce Mon Sep 17 00:00:00 2001 From: Herwig Birke Date: Tue, 30 Jan 2018 16:48:23 +0100 Subject: [PATCH] . --- 3rdparty/qtxlsx/.qmake.conf | 6 + 3rdparty/qtxlsx/CMakeLists.txt | 88 +++++ 3rdparty/qtxlsx/QtXlsxWriterConfig.cmake.in | 40 +++ 3rdparty/qtxlsx/README.md | 135 ++++++++ 3rdparty/qtxlsx/qtxlsx.pro | 1 + 3rdparty/qtxlsx/src/src.pro | 3 + 3rdparty/qtxlsx/src/xlsx/doc/qtxlsx.qdocconf | 75 +++++ .../src/xlsx/doc/snippets/doc_src_qtxlsx.cpp | 8 + .../src/xlsx/doc/snippets/doc_src_qtxlsx.pro | 3 + .../qtxlsx/src/xlsx/doc/src/examples.qdoc | 8 + .../qtxlsx/src/xlsx/doc/src/qtxlsx-index.qdoc | 72 ++++ 3rdparty/qtxlsx/src/xlsx/doc/src/qtxlsx.qdoc | 36 ++ 3rdparty/qtxlsx/src/xlsx/doc/src/usage.qdoc | 83 +++++ 3rdparty/qtxlsx/src/xlsx/xlsx.pro | 16 + 3rdparty/qtxlsx/sync.profile | 7 + qtPartlist.pro.user | 318 ++++++++++++++++++ 16 files changed, 899 insertions(+) create mode 100644 3rdparty/qtxlsx/.qmake.conf create mode 100644 3rdparty/qtxlsx/CMakeLists.txt create mode 100644 3rdparty/qtxlsx/QtXlsxWriterConfig.cmake.in create mode 100644 3rdparty/qtxlsx/README.md create mode 100644 3rdparty/qtxlsx/qtxlsx.pro create mode 100644 3rdparty/qtxlsx/src/src.pro create mode 100644 3rdparty/qtxlsx/src/xlsx/doc/qtxlsx.qdocconf create mode 100644 3rdparty/qtxlsx/src/xlsx/doc/snippets/doc_src_qtxlsx.cpp create mode 100644 3rdparty/qtxlsx/src/xlsx/doc/snippets/doc_src_qtxlsx.pro create mode 100644 3rdparty/qtxlsx/src/xlsx/doc/src/examples.qdoc create mode 100644 3rdparty/qtxlsx/src/xlsx/doc/src/qtxlsx-index.qdoc create mode 100644 3rdparty/qtxlsx/src/xlsx/doc/src/qtxlsx.qdoc create mode 100644 3rdparty/qtxlsx/src/xlsx/doc/src/usage.qdoc create mode 100644 3rdparty/qtxlsx/src/xlsx/xlsx.pro create mode 100644 3rdparty/qtxlsx/sync.profile create mode 100644 qtPartlist.pro.user diff --git a/3rdparty/qtxlsx/.qmake.conf b/3rdparty/qtxlsx/.qmake.conf new file mode 100644 index 0000000..b56c957 --- /dev/null +++ b/3rdparty/qtxlsx/.qmake.conf @@ -0,0 +1,6 @@ +#Workaround for Issue #60 +CONFIG += git_build + +load(qt_build_config) + +MODULE_VERSION = 0.3.0 diff --git a/3rdparty/qtxlsx/CMakeLists.txt b/3rdparty/qtxlsx/CMakeLists.txt new file mode 100644 index 0000000..3bf1daa --- /dev/null +++ b/3rdparty/qtxlsx/CMakeLists.txt @@ -0,0 +1,88 @@ +cmake_minimum_required(VERSION 3.2) + +project(QtXlsxWriter) +add_definitions(-DQT_BUILD_XLSX_LIB) +set(BUILD_SHARED_LIBS TRUE) +set(CMAKE_AUTOMOC ON) + +if (NOT CMAKE_BUILD_TYPE) + set(CMAKE_BUILD_TYPE "Release") +endif() + +file( + GLOB + QtXlsxWriter_SOURCE_FILES + ${CMAKE_CURRENT_SOURCE_DIR}/src/xlsx/*.cpp + ${CMAKE_CURRENT_BINARY_DIR}/QtXlsxWriterTest_automoc.cpp +) + +find_package(Qt5 5.5 REQUIRED Core Gui Test) +include_directories( + ${CMAKE_CURRENT_SOURCE_DIR}/src/xlsx/ + ${Qt5Core_INCLUDE_DIRS} + ${Qt5Gui_INCLUDE_DIRS} + ${Qt5Gui_PRIVATE_INCLUDE_DIRS} ) + +add_library(QtXlsxWriter SHARED "${QtXlsxWriter_SOURCE_FILES}") + +# automatically add C++11 support with GCC +if(NOT MSVC) + target_compile_features(QtXlsxWriter PRIVATE cxx_range_for) +endif() + +set_target_properties(QtXlsxWriter PROPERTIES DEBUG_POSTFIX "d") +target_link_libraries(QtXlsxWriter ${Qt5Core_LIBRARIES}) +target_link_libraries(QtXlsxWriter ${Qt5Gui_LIBRARIES}) + +if(BUILD_TESTING) + add_subdirectory(tests) +endif() + +if(BUILD_EXAMPLES) + add_custom_command(TARGET QtXlsxWriter POST_BUILD + COMMAND ${CMAKE_COMMAND} + -E copy_directory $ ${CMAKE_CURRENT_BINARY_DIR}/examples/xlsx/$) + add_subdirectory(examples/xlsx) +endif() + +## +# +# QtxlsxwriterVersion.cmake creation +# +## +set(QtXlsxWriter_CONFIG_PATH ${CMAKE_INSTALL_PREFIX}) +configure_file(QtXlsxWriterConfig.cmake.in QtXlsxWriterConfig.cmake @ONLY) + +##### +# +# Installation configuration +# +##### +INSTALL(TARGETS QtXlsxWriter + RUNTIME DESTINATION bin + LIBRARY DESTINATION lib + ARCHIVE DESTINATION lib +) + +INSTALL(FILES ${CMAKE_CURRENT_BINARY_DIR}/QtXlsxWriterConfig.cmake DESTINATION lib/cmake/${PROJECT_NAME}) + +SET(INCLUDE_FILES + src/xlsx/xlsxabstractooxmlfile.h + src/xlsx/xlsxabstractsheet.h + src/xlsx/xlsxcell.h + src/xlsx/xlsxcellformula.h + src/xlsx/xlsxcellrange.h + src/xlsx/xlsxcellreference.h + src/xlsx/xlsxchart.h + src/xlsx/xlsxchartsheet.h + src/xlsx/xlsxconditionalformatting.h + src/xlsx/xlsxdatavalidation.h + src/xlsx/xlsxdocument.h + src/xlsx/xlsxformat.h + src/xlsx/xlsxglobal.h + src/xlsx/xlsxrichstring.h + src/xlsx/xlsxworkbook.h + src/xlsx/xlsxworksheet.h +) +INSTALL(FILES ${INCLUDE_FILES} DESTINATION include) + diff --git a/3rdparty/qtxlsx/QtXlsxWriterConfig.cmake.in b/3rdparty/qtxlsx/QtXlsxWriterConfig.cmake.in new file mode 100644 index 0000000..2c718c7 --- /dev/null +++ b/3rdparty/qtxlsx/QtXlsxWriterConfig.cmake.in @@ -0,0 +1,40 @@ +######################################### +# +# Cmake QtXlsxWriter configuration file +# +# Usage from an external project: +# In your CMakeLists.txt, add these lines: +# +# FIND_PACKAGE(QtXlsxWriter REQUIRED) +# TARGET_LINK_LIBRARIES(MY_TARGET_NAME ${QtXlsxWriter_LIBS}) +# +# This file will define the following variables: +# +# - QtXlsxWriter_BIN : The list of libraries to link against (.DLL, .SO). +# - QtXlsxWriter_LIBS : The list of libraries to link against (LIB, .A). +# - QtXlsxWriter_LIB_DIR : The directory(es) where lib files are. Calling LINK_DIRECTORIES +# with this path is NOT needed. +# - QtXlsxWriter_INCLUDE_DIRS : The QtXlsxWriter include directories (automatically added) +# +######################################### + +if(CMAKE_VERSION VERSION_GREATER 2.6.2) + unset(QtXlsxWriter_CONFIG_PATH CACHE) +endif() + +set(QtXlsxWriter_CONFIG_PATH "@QtXlsxWriter_CONFIG_PATH@") +set(QtXlsxWriter_FOUND TRUE CACHE BOOL "" FORCE) +set(QtXlsxWriter_LIBS QtXlsxWriter) +set(QtXlsxWriter_LIB_BIN ${QtXlsxWriter_CONFIG_PATH}/bin) +set(QtXlsxWriter_LIB_DIR ${QtXlsxWriter_CONFIG_PATH}/lib) +set(QtXlsxWriter_INCLUDE_DIRS ${QtXlsxWriter_CONFIG_PATH}/include) + +include_directories(BEFORE ${QtXlsxWriter_INCLUDE_DIRS}) + +link_directories( ${LINK_DIRECTORIES} ${QtXlsxWriter_LIB_DIR} ) + +include(FindPackageHandleStandardArgs) +find_package_handle_standard_args( QtXlsxWriter DEFAULT_MSG + QtXlsxWriter_LIBS QtXlsxWriter_INCLUDE_DIRS) + +mark_as_advanced(FORCE QtXlsxWriter_LIBS QtXlsxWriter_LIB_DIR QtXlsxWriter_INCLUDE_DIRS) diff --git a/3rdparty/qtxlsx/README.md b/3rdparty/qtxlsx/README.md new file mode 100644 index 0000000..43b321d --- /dev/null +++ b/3rdparty/qtxlsx/README.md @@ -0,0 +1,135 @@ +Documentation: http://qtxlsx.debao.me + +QtXlsx is a library that can read and write Excel files. It doesn't require Microsoft Excel and can be used in any platform that Qt5 supported. +The library can be used to + +* Generate a new .xlsx file from scratch +* Extract data from an existing .xlsx file +* Edit an existing .xlsx file + +## Getting Started + +> * For linux user, if your Qt is installed through package manager tools such "apt-get", make sure that you have installed the Qt5 develop package *qtbase5-private-dev* + +### Usage(1): Use Xlsx as Qt5's addon module + +#### Building the module + +> **Note**: Perl is needed in this step. + +* Download the source code. + +* Put the source code in any directory you like + +* Go to top directory of the project in a terminal and run + +``` + qmake + make + make install +``` + +The library, the header files, and others will be installed to your system. + +> ```make html_docs``` can be used to generate documentations of the library, and ```make check``` can be used to run unit tests of the library. + +#### Using the module + +* Add following line to your qmake's project file: + +``` + QT += xlsx +``` + +* Then, using Qt Xlsx in your code + +```cpp + #include + int main() + { + QXlsx::Document xlsx; + xlsx.write("A1", "Hello Qt!"); + xlsx.saveAs("Test.xlsx"); + return 0; + } +``` + +### Usage(2): Use source code directly + +The package contains a **qtxlsx.pri** file that allows you to integrate the component into applications that use qmake for the build step. + +* Download the source code. + +* Put the source code in any directory you like. For example, 3rdparty: + +``` + |-- project.pro + |-- .... + |-- 3rdparty\ + | |-- qtxlsx\ + | | +``` + +* Add following line to your qmake project file: + +``` + include(3rdparty/qtxlsx/src/xlsx/qtxlsx.pri) +``` + +> **Note**: If you like, you can copy all files from *src/xlsx* to your application's source path. Then add following line to your project file: + +> ``` + include(qtxlsx.pri) +``` + +> **Note**: If you do not use qmake, you need to define the following macro manually + +> ``` + XLSX_NO_LIB +``` + + +* Then, using Qt Xlsx in your code + +```cpp + #include "xlsxdocument.h" + int main() + { + QXlsx::Document xlsx; + xlsx.write("A1", "Hello Qt!"); + xlsx.saveAs("Test.xlsx"); + return 0; + } +``` + +## References + +* http://www.ecma-international.org/publications/standards/Ecma-376.htm +* http://www.iso.org/iso/catalogue_detail?csnumber=51463 +* http://msdn.microsoft.com/en-us/library/ee908652%28v=office.12%29.aspx +* http://www.datypic.com/sc/ooxml/ + +### General + +* https://github.com/jmcnamara/XlsxWriter +* http://openpyxl.readthedocs.org +* http://officeopenxml.com/anatomyofOOXML-xlsx.php +* http://www.libxl.com +* http://closedxml.codeplex.com/ +* http://epplus.codeplex.com/ +* http://excelpackage.codeplex.com/ +* http://spreadsheetlight.com/ + +### Number formats + +* http://msdn.microsoft.com/en-us/library/ff529356%28v=office.12%29.aspx +* http://www.ozgrid.com/Excel/excel-custom-number-formats.htm +* http://stackoverflow.com/questions/894805/excel-number-format-what-is-409 +* http://office.microsoft.com/en-001/excel-help/create-a-custom-number-format-HP010342372.aspx + +### Formula + +* http://msdn.microsoft.com/en-us/library/ff533995%28v=office.12%29.aspx +* http://msdn.microsoft.com/en-us/library/dd906358%28v=office.12%29.aspx +* http://homepages.ecs.vuw.ac.nz/~elvis/db/Excel.shtml +* http://ewbi.blogs.com/develops/2004/12/excel_formula_p.html diff --git a/3rdparty/qtxlsx/qtxlsx.pro b/3rdparty/qtxlsx/qtxlsx.pro new file mode 100644 index 0000000..58c33f2 --- /dev/null +++ b/3rdparty/qtxlsx/qtxlsx.pro @@ -0,0 +1 @@ +load(qt_parts) diff --git a/3rdparty/qtxlsx/src/src.pro b/3rdparty/qtxlsx/src/src.pro new file mode 100644 index 0000000..07d244c --- /dev/null +++ b/3rdparty/qtxlsx/src/src.pro @@ -0,0 +1,3 @@ +TEMPLATE = subdirs + +SUBDIRS = xlsx diff --git a/3rdparty/qtxlsx/src/xlsx/doc/qtxlsx.qdocconf b/3rdparty/qtxlsx/src/xlsx/doc/qtxlsx.qdocconf new file mode 100644 index 0000000..ef11181 --- /dev/null +++ b/3rdparty/qtxlsx/src/xlsx/doc/qtxlsx.qdocconf @@ -0,0 +1,75 @@ +include($QT_INSTALL_DOCS/global/qt-html-templates-offline.qdocconf) +include($QT_INSTALL_DOCS/global/qt-module-defaults.qdocconf) + +project = QtXlsx +description = Qt Xlsx Reference Documentation +url = http://qtxlsx.debao.me +version = $QT_VERSION + +qhp.projects = QtXlsx + +qhp.QtXlsx.file = qtxlsx.qhp +qhp.QtXlsx.namespace = me.debao.qtxlsx.$QT_VERSION_TAG +qhp.QtXlsx.virtualFolder = qtxlsx +qhp.QtXlsx.indexTitle = Qt Xlsx +qhp.QtXlsx.indexRoot = + +qhp.QtXlsx.filterAttributes = qtxlsx $QT_VERSION qtrefdoc +qhp.QtXlsx.customFilters.Qt.name = QtXlsx $QT_VERSION +qhp.QtXlsx.customFilters.Qt.filterAttributes = qtxlsx $QT_VERSION +qhp.QtXlsx.subprojects = overviews classes qmltypes examples +qhp.QtXlsx.subprojects.overviews.title = Overview +qhp.QtXlsx.subprojects.overviews.indexTitle = Qt Xlsx +qhp.QtXlsx.subprojects.overviews.selectors = fake:page,group,module +qhp.QtXlsx.subprojects.classes.title = C++ Classes +qhp.QtXlsx.subprojects.classes.indexTitle = Qt Xlsx C++ Classes +qhp.QtXlsx.subprojects.classes.selectors = class fake:headerfile +qhp.QtXlsx.subprojects.classes.sortPages = true +qhp.QtXlsx.subprojects.examples.title = Examples +qhp.QtXlsx.subprojects.examples.indexTitle = Qt Xlsx Examples +qhp.QtXlsx.subprojects.examples.selectors = fake:example + +tagfile = ../../../doc/qtxlsx/qtxlsx.tags + +headerdirs += .. + +sourcedirs += .. + +exampledirs += ../../../examples/xlsx \ + snippets/ + +# Specify the install path under QT_INSTALL_EXAMPLES +examplesinstallpath = xlsx + +imagedirs += images + +depends += qtcore qtdoc qtgui + +HTML.footer = \ + " \n" \ + " \n" \ + " \n" \ + " \n" \ + "\n" \ + "
\n" \ + "
\n" \ + "
\n" \ + "

\n" \ + " © 2013-2014 Debao Zhang. \n" \ + " Documentation contributions included herein are the copyrights of\n" \ + " their respective owners.

\n" \ + "

\n" \ + " The documentation provided herein is licensed under the terms of the\n" \ + " GNU Free Documentation\n" \ + " License version 1.3 as published by the Free Software Foundation.

\n" \ + "

\n" \ + " Documentation sources may be obtained from \n" \ + " github.com/dbzhang800.

\n" \ + "

\n" \ + " Qt and their respective logos are trademarks of Digia Plc \n" \ + " in Finland and/or other countries worldwide. All other trademarks are property\n" \ + " of their respective owners. Privacy Policy

\n" \ + "
\n" \ + "
\n" \ + "
\n" \ diff --git a/3rdparty/qtxlsx/src/xlsx/doc/snippets/doc_src_qtxlsx.cpp b/3rdparty/qtxlsx/src/xlsx/doc/snippets/doc_src_qtxlsx.cpp new file mode 100644 index 0000000..eab3ac2 --- /dev/null +++ b/3rdparty/qtxlsx/src/xlsx/doc/snippets/doc_src_qtxlsx.cpp @@ -0,0 +1,8 @@ + +//! [0] +#include +//! [0] + +//! [1] +#include +//! [1] diff --git a/3rdparty/qtxlsx/src/xlsx/doc/snippets/doc_src_qtxlsx.pro b/3rdparty/qtxlsx/src/xlsx/doc/snippets/doc_src_qtxlsx.pro new file mode 100644 index 0000000..b2789f7 --- /dev/null +++ b/3rdparty/qtxlsx/src/xlsx/doc/snippets/doc_src_qtxlsx.pro @@ -0,0 +1,3 @@ +#! [1] +QT += xlsx +#! [1] diff --git a/3rdparty/qtxlsx/src/xlsx/doc/src/examples.qdoc b/3rdparty/qtxlsx/src/xlsx/doc/src/examples.qdoc new file mode 100644 index 0000000..6defee7 --- /dev/null +++ b/3rdparty/qtxlsx/src/xlsx/doc/src/examples.qdoc @@ -0,0 +1,8 @@ +/*! + \group qtxlsx-examples + \title Qt Xlsx Examples + \brief Examples for the Qt Xlsx module + \ingroup all-examples + + Qt Xlsx comes with the following examples: +*/ diff --git a/3rdparty/qtxlsx/src/xlsx/doc/src/qtxlsx-index.qdoc b/3rdparty/qtxlsx/src/xlsx/doc/src/qtxlsx-index.qdoc new file mode 100644 index 0000000..8ef7b48 --- /dev/null +++ b/3rdparty/qtxlsx/src/xlsx/doc/src/qtxlsx-index.qdoc @@ -0,0 +1,72 @@ +/**************************************************************************** +** Copyright (c) 2013 Debao Zhang +** All right reserved. +** +** Permission is hereby granted, free of charge, to any person obtaining +** a copy of this software and associated documentation files (the +** "Software"), to deal in the Software without restriction, including +** without limitation the rights to use, copy, modify, merge, publish, +** distribute, sublicense, and/or sell copies of the Software, and to +** permit persons to whom the Software is furnished to do so, subject to +** the following conditions: +** +** The above copyright notice and this permission notice shall be +** included in all copies or substantial portions of the Software. +** +** THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +** EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +** MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +** NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE +** LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +** OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION +** WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +** +****************************************************************************/ + +/*! + \title Qt Xlsx + \page index.html + \brief Qt Xlsx provides functionality for handling .xlsx files. + + The \l{Qt Xlsx C++ Classes}{Qt Xlsx Module} provides a set of classes to read and write Excel files. It doesn't require + Microsoft Excel and can be used in any platform that Qt5 supported. The library can be used to + + \list + \li \l{Hello QtXlsx Example}{Generate a new .xlsx file from scratch} + \li \l{Extract Data Example}{Extract data from an existing .xlsx file} + \li Edit an existing .xlsx file + \endlist + + \image xlsx_demo.gif + + \table + \row + \li Source code: \li \l{https://github.com/dbzhang800/QtXlsxWriter} + \row + \li Issures: \li \l{https://github.com/dbzhang800/QtXlsxWriter/issues} + \row + \li License: \li MIT + \endtable + + \section1 Getting Started + + To include the definitions of the module's classes, using the following directive: + + \code + #include + \endcode + + To link against the module, add this line to your qmake .pro file: + + \code + QT += xlsx + \endcode + + More information can be found in \l{Qt Xlsx Build} page. + + \section1 Related information + \list + \li \l{Qt Xlsx C++ Classes} + \li \l{Qt Xlsx Examples} + \endlist +*/ diff --git a/3rdparty/qtxlsx/src/xlsx/doc/src/qtxlsx.qdoc b/3rdparty/qtxlsx/src/xlsx/doc/src/qtxlsx.qdoc new file mode 100644 index 0000000..cdc70f1 --- /dev/null +++ b/3rdparty/qtxlsx/src/xlsx/doc/src/qtxlsx.qdoc @@ -0,0 +1,36 @@ +/**************************************************************************** +** Copyright (c) 2013 Debao Zhang +** All right reserved. +** +** Permission is hereby granted, free of charge, to any person obtaining +** a copy of this software and associated documentation files (the +** "Software"), to deal in the Software without restriction, including +** without limitation the rights to use, copy, modify, merge, publish, +** distribute, sublicense, and/or sell copies of the Software, and to +** permit persons to whom the Software is furnished to do so, subject to +** the following conditions: +** +** The above copyright notice and this permission notice shall be +** included in all copies or substantial portions of the Software. +** +** THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +** EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +** MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +** NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE +** LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +** OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION +** WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +** +****************************************************************************/ + +/*! + \module QtXlsx + \title Qt Xlsx C++ Classes + \ingroup modules + + \brief The Qt Xlsx module provides functionality for handling .xlsx files. + + .xlsx is a zipped, XML-based file format developed by Microsoft for + representing spreadsheets. +*/ + diff --git a/3rdparty/qtxlsx/src/xlsx/doc/src/usage.qdoc b/3rdparty/qtxlsx/src/xlsx/doc/src/usage.qdoc new file mode 100644 index 0000000..fabbe9b --- /dev/null +++ b/3rdparty/qtxlsx/src/xlsx/doc/src/usage.qdoc @@ -0,0 +1,83 @@ +/*! + \page building + \title Qt Xlsx Build + + \note QZipWriter and QZipReader which live in gui-private is used in + this library. For linux user, if your Qt is installed through package + manager tools such "apt-get", make sure that you have installed the Qt5 + develop package *qtbase5-private-dev* ; + if you Qt is built from source by yourself, + or download from qt-project.org directly, nothing need to do. + + \section1 Usage(1): Use Xlsx as Qt5's addon module + + 1. Download the source code from \l {https://github.com/dbzhang800/QtXlsxWriter/archive/master.zip} {github.com}. + + 2. Put the source code in any directory you like. At the toplevel directory run + + \note Perl is needed in this step. + + \code + qmake + make + make install + \endcode + + The library, the header files, and others will be installed to your system. + + 3. Add following line to your qmake's project file: + + \code + QT += xlsx + \endcode + + 4. Then, using Qt Xlsx in your code + + \code + #include "xlsxdocument.h" + int main() + { + QXlsx::Document xlsx; + xlsx.write("A1", "Hello Qt!"); + xlsx.saveAs("Test.xlsx"); + return 0; + } + \endcode + + \section1 Usage(2): Use source code directly + + The package contains a qtxlsx.pri file that allows you to integrate + the component into applications that use qmake for the build step. + + 1. Download the source code from \l {https://github.com/dbzhang800/QtXlsxWriter/archive/master.zip} {github.com} + + 2. Put the source code in any directory you like. For example, 3rdparty: + + \code + |-- project.pro + |-- .... + |-- 3rdparty\ + | |-- qtxlsx\ + | | + \endcode + + 3. Add following line to your qmake project file: + + \code + include(3rdparty/qtxlsx/src/xlsx/qtxlsx.pri) + \endcode + + \note If you like, you can copy all files from *src/xlsx* to your application's source path. Then add following line to your project file: + + \code + include(qtxlsx.pri) + \endcode + + \note If you do not use qmake, you need to define the following macro manually + + \code + XLSX_NO_LIB + \endcode + + 4. Then, using Qt Xlsx in your code +*/ diff --git a/3rdparty/qtxlsx/src/xlsx/xlsx.pro b/3rdparty/qtxlsx/src/xlsx/xlsx.pro new file mode 100644 index 0000000..1449014 --- /dev/null +++ b/3rdparty/qtxlsx/src/xlsx/xlsx.pro @@ -0,0 +1,16 @@ +TARGET = QtXlsx + +QMAKE_DOCS = $$PWD/doc/qtxlsx.qdocconf + +load(qt_module) + +CONFIG += build_xlsx_lib +include(qtxlsx.pri) + +#Define this macro if you want to run tests, so more AIPs will get exported. +#DEFINES += XLSX_TEST + +QMAKE_TARGET_COMPANY = "Debao Zhang" +QMAKE_TARGET_COPYRIGHT = "Copyright (C) 2013-2014 Debao Zhang " +QMAKE_TARGET_DESCRIPTION = ".Xlsx file wirter for Qt5" + diff --git a/3rdparty/qtxlsx/sync.profile b/3rdparty/qtxlsx/sync.profile new file mode 100644 index 0000000..349ef35 --- /dev/null +++ b/3rdparty/qtxlsx/sync.profile @@ -0,0 +1,7 @@ +%modules = ( + "QtXlsx" => "$basedir/src/xlsx", +); + +%dependencies = ( + "qtbase" => "", +); diff --git a/qtPartlist.pro.user b/qtPartlist.pro.user new file mode 100644 index 0000000..076c272 --- /dev/null +++ b/qtPartlist.pro.user @@ -0,0 +1,318 @@ + + + + + + EnvironmentId + {ae4c64ac-803d-420c-9f8a-6a863607cc06} + + + ProjectExplorer.Project.ActiveTarget + 0 + + + ProjectExplorer.Project.EditorSettings + + true + false + true + + Cpp + + CppGlobal + + + + QmlJS + + QmlJSGlobal + + + 2 + UTF-8 + false + 4 + false + 80 + true + true + 1 + true + false + 0 + true + true + 0 + 8 + true + 1 + true + true + true + false + + + + ProjectExplorer.Project.PluginSettings + + + + ProjectExplorer.Project.Target.0 + + Desktop Qt 5.9.3 MinGW 32bit + Desktop Qt 5.9.3 MinGW 32bit + qt.593.win32_mingw53_kit + 0 + 0 + 0 + + C:/Users/vet0572/Documents/github/build-qtPartlist-Desktop_Qt_5_9_3_MinGW_32bit-Debug + + + true + qmake + + QtProjectManager.QMakeBuildStep + true + + false + false + false + + + true + Make + + Qt4ProjectManager.MakeStep + + false + + + + 2 + Build + + ProjectExplorer.BuildSteps.Build + + + + true + Make + + Qt4ProjectManager.MakeStep + + true + clean + + + 1 + Clean + + ProjectExplorer.BuildSteps.Clean + + 2 + false + + Debug + + Qt4ProjectManager.Qt4BuildConfiguration + 2 + true + + + C:/Users/vet0572/Documents/github/build-qtPartlist-Desktop_Qt_5_9_3_MinGW_32bit-Release + + + true + qmake + + QtProjectManager.QMakeBuildStep + false + + false + false + false + + + true + Make + + Qt4ProjectManager.MakeStep + + false + + + + 2 + Build + + ProjectExplorer.BuildSteps.Build + + + + true + Make + + Qt4ProjectManager.MakeStep + + true + clean + + + 1 + Clean + + ProjectExplorer.BuildSteps.Clean + + 2 + false + + Release + + Qt4ProjectManager.Qt4BuildConfiguration + 0 + true + + + C:/Users/vet0572/Documents/github/build-qtPartlist-Desktop_Qt_5_9_3_MinGW_32bit-Profile + + + true + qmake + + QtProjectManager.QMakeBuildStep + true + + false + true + false + + + true + Make + + Qt4ProjectManager.MakeStep + + false + + + + 2 + Build + + ProjectExplorer.BuildSteps.Build + + + + true + Make + + Qt4ProjectManager.MakeStep + + true + clean + + + 1 + Clean + + ProjectExplorer.BuildSteps.Clean + + 2 + false + + Profile + + Qt4ProjectManager.Qt4BuildConfiguration + 0 + true + + 3 + + + 0 + Deploy + + ProjectExplorer.BuildSteps.Deploy + + 1 + Deploy locally + + ProjectExplorer.DefaultDeployConfiguration + + 1 + + + false + false + 1000 + + true + + false + false + false + false + true + 0.01 + 10 + true + 1 + 25 + + 1 + true + false + true + valgrind + + 0 + 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9 + 10 + 11 + 12 + 13 + 14 + + 2 + + qtPartlist + + Qt4ProjectManager.Qt4RunConfiguration:C:/Users/vet0572/Documents/github/qtPartlist/qtPartlist.pro + true + + qtPartlist.pro + false + + C:/Users/vet0572/Documents/github/build-qtPartlist-Desktop_Qt_5_9_3_MinGW_32bit-Debug + 3768 + false + true + false + false + true + + 1 + + + + ProjectExplorer.Project.TargetCount + 1 + + + ProjectExplorer.Project.Updater.FileVersion + 18 + + + Version + 18 + +