mirror of
https://github.com/tfussell/xlnt.git
synced 2024-03-22 13:11:17 +08:00
remove unused modules and update documentation
This commit is contained in:
parent
340a4b3195
commit
ec6a010f8a
|
@ -258,12 +258,12 @@ PERLMOD_MAKEVAR_PREFIX =
|
|||
# Configuration options related to the preprocessor
|
||||
#---------------------------------------------------------------------------
|
||||
ENABLE_PREPROCESSING = YES
|
||||
MACRO_EXPANSION = NO
|
||||
EXPAND_ONLY_PREDEF = NO
|
||||
MACRO_EXPANSION = YES
|
||||
EXPAND_ONLY_PREDEF = YES
|
||||
SEARCH_INCLUDES = YES
|
||||
INCLUDE_PATH =
|
||||
INCLUDE_PATH = ../include
|
||||
INCLUDE_FILE_PATTERNS =
|
||||
PREDEFINED =
|
||||
PREDEFINED = XLNT_API=
|
||||
EXPAND_AS_DEFINED =
|
||||
SKIP_FUNCTION_MACROS = YES
|
||||
#---------------------------------------------------------------------------
|
||||
|
|
|
@ -7,8 +7,7 @@ Cell Module
|
|||
.. doxygenclass:: xlnt::cell_reference
|
||||
:members:
|
||||
|
||||
.. doxygenclass:: xlnt::cell_type
|
||||
:members:
|
||||
.. doxygenenum:: xlnt::cell_type
|
||||
|
||||
.. doxygenclass:: xlnt::cell
|
||||
:members:
|
||||
|
@ -24,7 +23,7 @@ Cell Module
|
|||
.. doxygenstruct:: xlnt::column_hash
|
||||
:members:
|
||||
|
||||
.. doxygenclass:: xlnt::text
|
||||
.. doxygenclass:: xlnt::formatted_text
|
||||
:members:
|
||||
|
||||
.. doxygenclass:: xlnt::text_run
|
||||
|
|
|
@ -1,2 +0,0 @@
|
|||
Charts Module
|
||||
=============
|
|
@ -1,2 +0,0 @@
|
|||
Charsheet Module
|
||||
================
|
|
@ -1,5 +0,0 @@
|
|||
Drawing Module
|
||||
==============
|
||||
|
||||
.. doxygenclass:: xlnt::drawing
|
||||
:members:
|
|
@ -1,8 +0,0 @@
|
|||
Formula Module
|
||||
==============
|
||||
|
||||
.. doxygenclass:: xlnt::tokenizer
|
||||
:members:
|
||||
|
||||
.. doxygenclass:: xlnt::translator
|
||||
:members:
|
|
@ -1,26 +1,11 @@
|
|||
Packaging Module
|
||||
================
|
||||
|
||||
.. doxygenclass:: xlnt::app_properties
|
||||
:members:
|
||||
|
||||
.. doxygenclass:: xlnt::default_type
|
||||
:members:
|
||||
|
||||
.. doxygenclass:: xlnt::document_properties
|
||||
:members:
|
||||
|
||||
.. doxygenclass:: xlnt::manifest
|
||||
:members:
|
||||
|
||||
.. doxygenclass:: xlnt::override_type
|
||||
:members:
|
||||
|
||||
.. doxygenclass:: xlnt::relationship
|
||||
:members:
|
||||
|
||||
.. doxygenstruct:: xlnt::zip_info
|
||||
:members:
|
||||
|
||||
.. doxygenclass:: xlnt::zip_file
|
||||
.. doxygenclass:: xlnt::uri
|
||||
:members:
|
||||
|
|
|
@ -1,21 +1,10 @@
|
|||
xlnt Library
|
||||
============
|
||||
|
||||
.. doxygenenum:: xlnt::limit_style
|
||||
.. doxygenvariable:: xlnt::LimitStyle
|
||||
|
||||
Library Modules
|
||||
===============
|
||||
|
||||
.. toctree::
|
||||
|
||||
xlnt.cell
|
||||
xlnt.chart
|
||||
xlnt.chartsheet
|
||||
xlnt.drawing
|
||||
xlnt.formula
|
||||
xlnt.packaging
|
||||
xlnt.serialization
|
||||
xlnt.styles
|
||||
xlnt.utils
|
||||
xlnt.workbook
|
||||
|
|
|
@ -4,11 +4,7 @@ Styles Module
|
|||
.. doxygenclass:: xlnt::alignment
|
||||
:members:
|
||||
|
||||
.. doxygenclass:: xlnt::base_format
|
||||
:members:
|
||||
|
||||
.. doxygenenum:: xlnt::border_style
|
||||
:members:
|
||||
|
||||
.. doxygenclass:: xlnt::border
|
||||
:members:
|
||||
|
@ -17,7 +13,6 @@ Styles Module
|
|||
:members:
|
||||
|
||||
.. doxygenenum:: xlnt::diagonal_direction
|
||||
:members:
|
||||
|
||||
.. doxygenclass:: xlnt::fill
|
||||
:members:
|
||||
|
@ -29,7 +24,6 @@ Styles Module
|
|||
:members:
|
||||
|
||||
.. doxygenenum:: xlnt::horizontal_alignment
|
||||
:members:
|
||||
|
||||
.. doxygenclass:: xlnt::number_format
|
||||
:members:
|
||||
|
@ -37,11 +31,7 @@ Styles Module
|
|||
.. doxygenclass:: xlnt::protection
|
||||
:members:
|
||||
|
||||
.. doxygenclass:: xlnt::side
|
||||
:members:
|
||||
|
||||
.. doxygenclass:: xlnt::style
|
||||
:members:
|
||||
|
||||
.. doxygenenum:: xlnt::vertical_alignment
|
||||
:members:
|
||||
|
|
|
@ -1,46 +1,54 @@
|
|||
Utilities Module
|
||||
================
|
||||
|
||||
.. doxygenclass:: xlnt::attribute_error
|
||||
.. doxygenclass:: xlnt::exception
|
||||
:members:
|
||||
|
||||
.. doxygenenum:: xlnt::calendar
|
||||
.. doxygenclass:: xlnt::invalid_parameter
|
||||
:members:
|
||||
|
||||
.. doxygenclass:: xlnt::cell_coordinates_error
|
||||
:members:
|
||||
|
||||
.. doxygenclass:: xlnt::column_string_index_error
|
||||
:members:
|
||||
|
||||
.. doxygenclass:: xlnt::data_type_error
|
||||
:members:
|
||||
|
||||
.. doxygenstruct:: xlnt::date
|
||||
:members:
|
||||
|
||||
.. doxygenstruct:: xlnt::datetime
|
||||
:members:
|
||||
|
||||
.. doxygenclass:: xlnt::illegal_character_error
|
||||
:members:
|
||||
|
||||
.. doxygenclass:: xlnt::invalid_file_error
|
||||
:members:
|
||||
|
||||
.. doxygenclass:: xlnt::key_error
|
||||
.. doxygenclass:: xlnt::invalid_sheet_title
|
||||
:members:
|
||||
|
||||
.. doxygenclass:: xlnt::missing_number_format
|
||||
:members:
|
||||
|
||||
.. doxygenclass:: xlnt::named_range_error
|
||||
.. doxygenclass:: xlnt::invalid_file
|
||||
:members:
|
||||
|
||||
.. doxygenclass:: xlnt::read_only_workbook_error
|
||||
.. doxygenclass:: xlnt::illegal_character
|
||||
:members:
|
||||
|
||||
.. doxygenclass:: xlnt::sheet_title_error
|
||||
.. doxygenclass:: xlnt::invalid_data_type
|
||||
:members:
|
||||
|
||||
.. doxygenclass:: xlnt::invalid_column_string_index
|
||||
:members:
|
||||
|
||||
.. doxygenclass:: xlnt::invalid_cell_reference
|
||||
:members:
|
||||
|
||||
.. doxygenclass:: xlnt::invalid_attribute
|
||||
:members:
|
||||
|
||||
.. doxygenclass:: xlnt::key_not_found
|
||||
:members:
|
||||
|
||||
.. doxygenclass:: xlnt::no_visible_worksheets
|
||||
:members:
|
||||
|
||||
.. doxygenclass:: xlnt::unhandled_switch_case
|
||||
:members:
|
||||
|
||||
.. doxygenclass:: xlnt::unsupported
|
||||
:members:
|
||||
|
||||
.. doxygenenum:: xlnt::calendar
|
||||
|
||||
.. doxygenstruct:: xlnt::date
|
||||
:members:
|
||||
|
||||
.. doxygenstruct:: xlnt::datetime
|
||||
:members:
|
||||
|
||||
.. doxygenstruct:: xlnt::time
|
||||
|
@ -52,5 +60,9 @@ Utilities Module
|
|||
.. doxygenclass:: xlnt::utf8string
|
||||
:members:
|
||||
|
||||
.. doxygenclass:: xlnt::value_error
|
||||
.. doxygenclass:: xlnt::optional
|
||||
:members:
|
||||
|
||||
.. doxygenclass:: xlnt::path
|
||||
:members:
|
||||
|
||||
|
|
|
@ -26,13 +26,10 @@ Worksheet Module
|
|||
:members:
|
||||
|
||||
.. doxygenenum:: xlnt::major_order
|
||||
:members:
|
||||
|
||||
.. doxygenenum:: xlnt::orientation
|
||||
:members:
|
||||
|
||||
.. doxygenenum:: xlnt::page_break
|
||||
:members:
|
||||
|
||||
.. doxygenclass:: xlnt::page_margins
|
||||
:members:
|
||||
|
@ -44,7 +41,6 @@ Worksheet Module
|
|||
:members:
|
||||
|
||||
.. doxygenenum:: xlnt::paper_size
|
||||
:members:
|
||||
|
||||
.. doxygenclass:: xlnt::range_iterator
|
||||
:members:
|
||||
|
@ -65,7 +61,6 @@ Worksheet Module
|
|||
:members:
|
||||
|
||||
.. doxygenenum:: xlnt::sheet_state
|
||||
:members:
|
||||
|
||||
.. doxygenclass:: xlnt::sheet_view
|
||||
:members:
|
||||
|
|
|
@ -45,6 +45,7 @@ extensions = [
|
|||
# Breathe extension variables
|
||||
breathe_projects = { "xlnt" : "doxyxml/" }
|
||||
breathe_default_project = "xlnt"
|
||||
breathe_doxygen_config_options = {'EXCLUDE_SYMBOLS': 'XLNT_API'}
|
||||
|
||||
# Add any paths that contain templates here, relative to this directory.
|
||||
templates_path = ['_templates']
|
||||
|
|
|
@ -124,13 +124,13 @@ Summary of Features
|
|||
Sample code:
|
||||
++++++++++++
|
||||
|
||||
.. literalinclude:: /samples/sample.cpp
|
||||
.. literalinclude:: ../samples/sample.cpp
|
||||
|
||||
|
||||
How to Contribute Code
|
||||
----------------------
|
||||
|
||||
See :ref:`development`
|
||||
See `Information For Developers`_
|
||||
|
||||
Installation
|
||||
------------
|
||||
|
|
|
@ -481,19 +481,6 @@ public:
|
|||
/// </summary>
|
||||
bool operator==(std::nullptr_t) const;
|
||||
|
||||
// friend operators, so we can put cell on either side of comparisons with other types
|
||||
|
||||
/// <summary>
|
||||
/// Return true if this cell is uninitialized.
|
||||
/// </summary>
|
||||
friend XLNT_API bool operator==(std::nullptr_t, const cell &cell);
|
||||
|
||||
/// <summary>
|
||||
/// Convenience function for writing cell to an ostream.
|
||||
/// Uses cell::to_string() internally.
|
||||
/// </summary>
|
||||
friend XLNT_API std::ostream &operator<<(std::ostream &stream, const xlnt::cell &cell);
|
||||
|
||||
private:
|
||||
// make these friends so they can use the private constructor
|
||||
friend class style;
|
||||
|
@ -530,4 +517,15 @@ private:
|
|||
detail::cell_impl *d_;
|
||||
};
|
||||
|
||||
/// <summary>
|
||||
/// Return true if this cell is uninitialized.
|
||||
/// </summary>
|
||||
XLNT_API bool operator==(std::nullptr_t, const cell &cell);
|
||||
|
||||
/// <summary>
|
||||
/// Convenience function for writing cell to an ostream.
|
||||
/// Uses cell::to_string() internally.
|
||||
/// </summary>
|
||||
XLNT_API std::ostream &operator<<(std::ostream &stream, const xlnt::cell &cell);
|
||||
|
||||
} // namespace xlnt
|
||||
|
|
|
@ -40,6 +40,9 @@ class range_reference;
|
|||
/// </summary>
|
||||
struct XLNT_API cell_reference_hash
|
||||
{
|
||||
/// <summary>
|
||||
///
|
||||
/// </summary>
|
||||
std::size_t operator()(const cell_reference &k) const;
|
||||
};
|
||||
|
||||
|
|
|
@ -41,11 +41,14 @@ using row_t = std::uint32_t;
|
|||
/// <summary>
|
||||
/// Columns can be referred to as a string A,B,...Z,AA,AB,..,ZZ,AAA,...,ZZZ
|
||||
/// or as a 1-indexed index. This class encapsulates both of these forms of
|
||||
/// column referencing and allows for convertions between them.
|
||||
/// column referencing and allows for conversions between them.
|
||||
/// </summary>
|
||||
class XLNT_API column_t
|
||||
{
|
||||
public:
|
||||
/// <summary>
|
||||
///
|
||||
/// </summary>
|
||||
using index_t = std::uint32_t;
|
||||
|
||||
/// <summary>
|
||||
|
@ -315,6 +318,9 @@ public:
|
|||
/// </summary>
|
||||
struct XLNT_API column_hash
|
||||
{
|
||||
/// <summary>
|
||||
///
|
||||
/// </summary>
|
||||
std::size_t operator()(const column_t &k) const;
|
||||
};
|
||||
|
||||
|
@ -322,15 +328,20 @@ struct XLNT_API column_hash
|
|||
|
||||
namespace std {
|
||||
|
||||
/// <summary>
|
||||
/// Template specialization to allow xlnt::column_t to be used as a key in a std container.
|
||||
/// </summary>
|
||||
template <>
|
||||
struct hash<xlnt::column_t>
|
||||
{
|
||||
/// <summary>
|
||||
///
|
||||
/// </summary>
|
||||
size_t operator()(const xlnt::column_t &k) const
|
||||
{
|
||||
static xlnt::column_hash hasher;
|
||||
return hasher(k);
|
||||
}
|
||||
|
||||
xlnt::column_hash hasher;
|
||||
};
|
||||
|
||||
} // namespace std
|
||||
|
|
|
@ -1,34 +0,0 @@
|
|||
// Copyright (c) 2014-2016 Thomas Fussell
|
||||
// Copyright (c) 2010-2015 openpyxl
|
||||
//
|
||||
// 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, WRISING FROM,
|
||||
// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||
// THE SOFTWARE
|
||||
//
|
||||
// @license: http://www.opensource.org/licenses/mit-license.php
|
||||
// @author: see AUTHORS file
|
||||
#pragma once
|
||||
|
||||
#include <xlnt/xlnt_config.hpp>
|
||||
|
||||
namespace xlnt {
|
||||
|
||||
class XLNT_API axis
|
||||
{
|
||||
};
|
||||
|
||||
} // namespace xlnt
|
|
@ -1,34 +0,0 @@
|
|||
// Copyright (c) 2014-2016 Thomas Fussell
|
||||
// Copyright (c) 2010-2015 openpyxl
|
||||
//
|
||||
// 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, WRISING FROM,
|
||||
// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||
// THE SOFTWARE
|
||||
//
|
||||
// @license: http://www.opensource.org/licenses/mit-license.php
|
||||
// @author: see AUTHORS file
|
||||
#pragma once
|
||||
|
||||
#include <xlnt/xlnt_config.hpp>
|
||||
|
||||
namespace xlnt {
|
||||
|
||||
class XLNT_API bar_chart
|
||||
{
|
||||
};
|
||||
|
||||
} // namespace xlnt
|
|
@ -1,34 +0,0 @@
|
|||
// Copyright (c) 2014-2016 Thomas Fussell
|
||||
// Copyright (c) 2010-2015 openpyxl
|
||||
//
|
||||
// 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, WRISING FROM,
|
||||
// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||
// THE SOFTWARE
|
||||
//
|
||||
// @license: http://www.opensource.org/licenses/mit-license.php
|
||||
// @author: see AUTHORS file
|
||||
#pragma once
|
||||
|
||||
#include <xlnt/xlnt_config.hpp>
|
||||
|
||||
namespace xlnt {
|
||||
|
||||
class XLNT_API chart
|
||||
{
|
||||
};
|
||||
|
||||
} // namespace xlnt
|
|
@ -1,34 +0,0 @@
|
|||
// Copyright (c) 2014-2016 Thomas Fussell
|
||||
// Copyright (c) 2010-2015 openpyxl
|
||||
//
|
||||
// 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, WRISING FROM,
|
||||
// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||
// THE SOFTWARE
|
||||
//
|
||||
// @license: http://www.opensource.org/licenses/mit-license.php
|
||||
// @author: see AUTHORS file
|
||||
#pragma once
|
||||
|
||||
#include <xlnt/xlnt_config.hpp>
|
||||
|
||||
namespace xlnt {
|
||||
|
||||
class XLNT_API error_bar
|
||||
{
|
||||
};
|
||||
|
||||
} // namespace xlnt
|
|
@ -1,34 +0,0 @@
|
|||
// Copyright (c) 2014-2016 Thomas Fussell
|
||||
// Copyright (c) 2010-2015 openpyxl
|
||||
//
|
||||
// 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, WRISING FROM,
|
||||
// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||
// THE SOFTWARE
|
||||
//
|
||||
// @license: http://www.opensource.org/licenses/mit-license.php
|
||||
// @author: see AUTHORS file
|
||||
#pragma once
|
||||
|
||||
#include <xlnt/xlnt_config.hpp>
|
||||
|
||||
namespace xlnt {
|
||||
|
||||
class XLNT_API graph_chart
|
||||
{
|
||||
};
|
||||
|
||||
} // namespace xlnt
|
|
@ -1,34 +0,0 @@
|
|||
// Copyright (c) 2014-2016 Thomas Fussell
|
||||
// Copyright (c) 2010-2015 openpyxl
|
||||
//
|
||||
// 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, WRISING FROM,
|
||||
// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||
// THE SOFTWARE
|
||||
//
|
||||
// @license: http://www.opensource.org/licenses/mit-license.php
|
||||
// @author: see AUTHORS file
|
||||
#pragma once
|
||||
|
||||
#include <xlnt/xlnt_config.hpp>
|
||||
|
||||
namespace xlnt {
|
||||
|
||||
class XLNT_API legend
|
||||
{
|
||||
};
|
||||
|
||||
} // namespace xlnt
|
|
@ -1,34 +0,0 @@
|
|||
// Copyright (c) 2014-2016 Thomas Fussell
|
||||
// Copyright (c) 2010-2015 openpyxl
|
||||
//
|
||||
// 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, WRISING FROM,
|
||||
// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||
// THE SOFTWARE
|
||||
//
|
||||
// @license: http://www.opensource.org/licenses/mit-license.php
|
||||
// @author: see AUTHORS file
|
||||
#pragma once
|
||||
|
||||
#include <xlnt/xlnt_config.hpp>
|
||||
|
||||
namespace xlnt {
|
||||
|
||||
class XLNT_API line_chart
|
||||
{
|
||||
};
|
||||
|
||||
} // namespace xlnt
|
|
@ -1,34 +0,0 @@
|
|||
// Copyright (c) 2014-2016 Thomas Fussell
|
||||
// Copyright (c) 2010-2015 openpyxl
|
||||
//
|
||||
// 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, WRISING FROM,
|
||||
// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||
// THE SOFTWARE
|
||||
//
|
||||
// @license: http://www.opensource.org/licenses/mit-license.php
|
||||
// @author: see AUTHORS file
|
||||
#pragma once
|
||||
|
||||
#include <xlnt/xlnt_config.hpp>
|
||||
|
||||
namespace xlnt {
|
||||
|
||||
class XLNT_API pie_chart
|
||||
{
|
||||
};
|
||||
|
||||
} // namespace xlnt
|
|
@ -1,34 +0,0 @@
|
|||
// Copyright (c) 2014-2016 Thomas Fussell
|
||||
// Copyright (c) 2010-2015 openpyxl
|
||||
//
|
||||
// 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, WRISING FROM,
|
||||
// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||
// THE SOFTWARE
|
||||
//
|
||||
// @license: http://www.opensource.org/licenses/mit-license.php
|
||||
// @author: see AUTHORS file
|
||||
#pragma once
|
||||
|
||||
#include <xlnt/xlnt_config.hpp>
|
||||
|
||||
namespace xlnt {
|
||||
|
||||
class XLNT_API scatter_chart
|
||||
{
|
||||
};
|
||||
|
||||
} // namespace xlnt
|
|
@ -1,34 +0,0 @@
|
|||
// Copyright (c) 2014-2016 Thomas Fussell
|
||||
// Copyright (c) 2010-2015 openpyxl
|
||||
//
|
||||
// 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, WRISING FROM,
|
||||
// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||
// THE SOFTWARE
|
||||
//
|
||||
// @license: http://www.opensource.org/licenses/mit-license.php
|
||||
// @author: see AUTHORS file
|
||||
#pragma once
|
||||
|
||||
#include <xlnt/xlnt_config.hpp>
|
||||
|
||||
namespace xlnt {
|
||||
|
||||
class XLNT_API series
|
||||
{
|
||||
};
|
||||
|
||||
} // namespace xlnt
|
|
@ -1,44 +0,0 @@
|
|||
// Copyright (c) 2014-2016 Thomas Fussell
|
||||
// Copyright (c) 2010-2015 openpyxl
|
||||
//
|
||||
// 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, WRISING FROM,
|
||||
// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||
// THE SOFTWARE
|
||||
//
|
||||
// @license: http://www.opensource.org/licenses/mit-license.php
|
||||
// @author: see AUTHORS file
|
||||
#pragma once
|
||||
|
||||
#include <xlnt/xlnt_config.hpp>
|
||||
|
||||
namespace xlnt {
|
||||
|
||||
class worksheet;
|
||||
struct drawing_struct;
|
||||
|
||||
class XLNT_API drawing
|
||||
{
|
||||
public:
|
||||
drawing();
|
||||
|
||||
private:
|
||||
friend class worksheet;
|
||||
drawing(drawing_struct *root);
|
||||
drawing_struct *root_;
|
||||
};
|
||||
|
||||
} // namespace xlnt
|
|
@ -1,61 +0,0 @@
|
|||
From ewbachtal@ewbi.com Fri Apr 3 11:00:25 2015
|
||||
Date: Fri, 3 Apr 2015 07:58:55 -0700
|
||||
From: Eric W. Bachtal <ewbachtal@ewbi.com>
|
||||
To: 'Paul Harrington' <phrrngtn@panix.com>
|
||||
Subject: RE: [pycel] re-license the parser/tokenizer under a license suitable for incorporation into openpyxl (#11) (fwd)
|
||||
|
||||
Hi Paul,
|
||||
|
||||
I can't speak for Dirk's wishes regarding his Python implementation, but I'm
|
||||
fine with my original JavaScript or C# Excel formula parser code being
|
||||
released with a BSD/MIT license, as long as proper attribution is provided
|
||||
and there's a clear indication that the software is provided "as is",
|
||||
without warranty of any kind.
|
||||
|
||||
Good luck!
|
||||
|
||||
ewb
|
||||
|
||||
425 241 2505
|
||||
|
||||
|
||||
-----Original Message-----
|
||||
From: Paul Harrington [mailto:phrrngtn@panix.com]
|
||||
Sent: Friday, April 3, 2015 7:19 AM
|
||||
To: info@ewbi.com
|
||||
Subject: Re: [pycel] re-license the parser/tokenizer under a license
|
||||
suitable for incorporation into openpyxl (#11) (fwd)
|
||||
|
||||
|
||||
|
||||
Hi, I was wondering if you would be OK with the parser (specifically the
|
||||
Python implementation) being released with an BSD/MIT license?
|
||||
|
||||
thanks for the implementation!
|
||||
|
||||
pjjH
|
||||
|
||||
|
||||
|
||||
|
||||
---------- Forwarded message ----------
|
||||
Date: Fri, 03 Apr 2015 06:26:39 -0700
|
||||
From: Dirk Gorissen <notifications@github.com>
|
||||
Reply-To: dgorissen/pycel
|
||||
|
||||
<reply+000100759cdf9fe5298cea83dabb029e82bc98754c9d7df892cf000000011136570f9
|
||||
2a169ce03ee327f@reply.github.com>
|
||||
To: dgorissen/pycel <pycel@noreply.github.com>
|
||||
Cc: Paul Harrington <phrrngtn@panix.com>
|
||||
Subject: Re: [pycel] re-license the parser/tokenizer under a license
|
||||
suitable
|
||||
for incorporation into openpyxl (#11)
|
||||
|
||||
I did not write the tokenizing/parser code and don't hold the copyright to
|
||||
it.
|
||||
Eric did and I just applied a small patch and integrated it. See the header
|
||||
of tokenizer.py.
|
||||
|
||||
---
|
||||
Reply to this email directly or view it on GitHub:
|
||||
https://github.com/dgorissen/pycel/issues/11#issuecomment-89287122
|
|
@ -1,34 +0,0 @@
|
|||
// Copyright (c) 2014-2016 Thomas Fussell
|
||||
// Copyright (c) 2010-2015 openpyxl
|
||||
//
|
||||
// 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, WRISING FROM,
|
||||
// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||
// THE SOFTWARE
|
||||
//
|
||||
// @license: http://www.opensource.org/licenses/mit-license.php
|
||||
// @author: see AUTHORS file
|
||||
#pragma once
|
||||
|
||||
#include <xlnt/xlnt_config.hpp>
|
||||
|
||||
namespace xlnt {
|
||||
|
||||
class XLNT_API known_formulae
|
||||
{
|
||||
};
|
||||
|
||||
} // namespace xlnt
|
|
@ -1,34 +0,0 @@
|
|||
// Copyright (c) 2014-2016 Thomas Fussell
|
||||
// Copyright (c) 2010-2015 openpyxl
|
||||
//
|
||||
// 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, WRISING FROM,
|
||||
// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||
// THE SOFTWARE
|
||||
//
|
||||
// @license: http://www.opensource.org/licenses/mit-license.php
|
||||
// @author: see AUTHORS file
|
||||
#pragma once
|
||||
|
||||
#include <xlnt/xlnt_config.hpp>
|
||||
|
||||
namespace xlnt {
|
||||
|
||||
class XLNT_API tokenizer
|
||||
{
|
||||
};
|
||||
|
||||
} // namespace xlnt
|
|
@ -1,60 +0,0 @@
|
|||
// Copyright (c) 2014-2016 Thomas Fussell
|
||||
// Copyright (c) 2010-2015 openpyxl
|
||||
//
|
||||
// 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, WRISING FROM,
|
||||
// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||
// THE SOFTWARE
|
||||
//
|
||||
// @license: http://www.opensource.org/licenses/mit-license.php
|
||||
// @author: see AUTHORS file
|
||||
#pragma once
|
||||
|
||||
#include <string>
|
||||
#include <vector>
|
||||
|
||||
#include <xlnt/xlnt_config.hpp>
|
||||
|
||||
namespace xlnt {
|
||||
|
||||
class cell_reference;
|
||||
class tokenizer;
|
||||
|
||||
class XLNT_API translator
|
||||
{
|
||||
translator(const std::string &formula, const cell_reference &ref);
|
||||
|
||||
std::vector<std::string> get_tokens();
|
||||
|
||||
static std::string translate_row(const std::string &row_str, int row_delta);
|
||||
static std::string translate_col(const std::string &col_str, col_delta);
|
||||
|
||||
std::pair<std::string, std::string> strip_ws_name(const std::string &range_str);
|
||||
|
||||
void translate_range(const range_reference &range_ref);
|
||||
void translate_formula(const cell_reference &dest);
|
||||
|
||||
private:
|
||||
const std::string ROW_RANGE_RE;
|
||||
const std::string COL_RANGE_RE;
|
||||
const std::string CELL_REF_RE;
|
||||
|
||||
std::string formula_;
|
||||
cell_reference reference_;
|
||||
tokenizer tokenizer_;
|
||||
};
|
||||
|
||||
} // namespace xlnt
|
|
@ -100,6 +100,9 @@ enum class XLNT_API relationship_type
|
|||
class XLNT_API relationship
|
||||
{
|
||||
public:
|
||||
/// <summary>
|
||||
///
|
||||
/// </summary>
|
||||
using type = relationship_type;
|
||||
|
||||
/// <summary>
|
||||
|
|
|
@ -36,13 +36,25 @@ namespace xlnt {
|
|||
class XLNT_API indexed_color
|
||||
{
|
||||
public:
|
||||
/// <summary>
|
||||
///
|
||||
/// </summary>
|
||||
indexed_color(std::size_t index);
|
||||
|
||||
/// <summary>
|
||||
///
|
||||
/// </summary>
|
||||
std::size_t get_index() const;
|
||||
|
||||
/// <summary>
|
||||
///
|
||||
/// </summary>
|
||||
void set_index(std::size_t index);
|
||||
|
||||
private:
|
||||
/// <summary>
|
||||
///
|
||||
/// </summary>
|
||||
std::size_t index_;
|
||||
};
|
||||
|
||||
|
@ -52,13 +64,25 @@ private:
|
|||
class XLNT_API theme_color
|
||||
{
|
||||
public:
|
||||
/// <summary>
|
||||
///
|
||||
/// </summary>
|
||||
theme_color(std::size_t index);
|
||||
|
||||
/// <summary>
|
||||
///
|
||||
/// </summary>
|
||||
std::size_t get_index() const;
|
||||
|
||||
/// <summary>
|
||||
///
|
||||
/// </summary>
|
||||
void set_index(std::size_t index);
|
||||
|
||||
private:
|
||||
/// <summary>
|
||||
///
|
||||
/// </summary>
|
||||
std::size_t index_;
|
||||
};
|
||||
|
||||
|
@ -68,27 +92,60 @@ private:
|
|||
class XLNT_API rgb_color
|
||||
{
|
||||
public:
|
||||
/// <summary>
|
||||
///
|
||||
/// </summary>
|
||||
rgb_color(const std::string &hex_string);
|
||||
|
||||
/// <summary>
|
||||
///
|
||||
/// </summary>
|
||||
rgb_color(std::uint8_t r, std::uint8_t g, std::uint8_t b, std::uint8_t a = 255);
|
||||
|
||||
/// <summary>
|
||||
///
|
||||
/// </summary>
|
||||
std::string get_hex_string() const;
|
||||
|
||||
/// <summary>
|
||||
///
|
||||
/// </summary>
|
||||
std::uint8_t get_red() const;
|
||||
|
||||
/// <summary>
|
||||
///
|
||||
/// </summary>
|
||||
std::uint8_t get_green() const;
|
||||
|
||||
/// <summary>
|
||||
///
|
||||
/// </summary>
|
||||
std::uint8_t get_blue() const;
|
||||
|
||||
/// <summary>
|
||||
///
|
||||
/// </summary>
|
||||
std::uint8_t get_alpha() const;
|
||||
|
||||
/// <summary>
|
||||
///
|
||||
/// </summary>
|
||||
std::array<std::uint8_t, 3> get_rgb() const;
|
||||
|
||||
/// <summary>
|
||||
///
|
||||
/// </summary>
|
||||
std::array<std::uint8_t, 4> get_rgba() const;
|
||||
|
||||
private:
|
||||
/// <summary>
|
||||
///
|
||||
/// </summary>
|
||||
static std::array<std::uint8_t, 4> decode_hex_string(const std::string &hex_string);
|
||||
|
||||
/// <summary>
|
||||
///
|
||||
/// </summary>
|
||||
std::array<std::uint8_t, 4> rgba_;
|
||||
};
|
||||
|
||||
|
|
|
@ -181,15 +181,20 @@ private:
|
|||
|
||||
namespace std {
|
||||
|
||||
/// <summary>
|
||||
/// Template specialization to allow xlnt:path to be used as a key in a std container.
|
||||
/// </summary>
|
||||
template <>
|
||||
struct hash<xlnt::path>
|
||||
{
|
||||
/// <summary>
|
||||
///
|
||||
/// </summary>
|
||||
size_t operator()(const xlnt::path &p) const
|
||||
{
|
||||
static hash<string> hasher;
|
||||
return hasher(p.string());
|
||||
}
|
||||
|
||||
hash<string> hasher;
|
||||
};
|
||||
|
||||
} // namespace std
|
||||
|
|
|
@ -29,6 +29,9 @@
|
|||
|
||||
namespace xlnt {
|
||||
|
||||
/// <summary>
|
||||
///
|
||||
/// </summary>
|
||||
class XLNT_API utf8string
|
||||
{
|
||||
public:
|
||||
|
|
|
@ -21,6 +21,7 @@
|
|||
//
|
||||
// @license: http://www.opensource.org/licenses/mit-license.php
|
||||
// @author: see AUTHORS file
|
||||
|
||||
#pragma once
|
||||
|
||||
#include <iterator>
|
||||
|
|
|
@ -862,7 +862,7 @@ calendar cell::get_base_date() const
|
|||
return get_workbook().get_base_date();
|
||||
}
|
||||
|
||||
std::ostream &operator<<(std::ostream &stream, const xlnt::cell &cell)
|
||||
XLNT_API std::ostream &operator<<(std::ostream &stream, const xlnt::cell &cell)
|
||||
{
|
||||
return stream << cell.to_string();
|
||||
}
|
||||
|
|
|
@ -1,157 +0,0 @@
|
|||
#pragma once
|
||||
|
||||
#include <iostream>
|
||||
#include <cxxtest/TestSuite.h>
|
||||
|
||||
#include <xlnt/xlnt.hpp>
|
||||
|
||||
class test_chart : public CxxTest::TestSuite
|
||||
{
|
||||
public:
|
||||
void setUp()
|
||||
{
|
||||
/*
|
||||
xlnt::workbook wb;
|
||||
auto ws = wb.get_active();
|
||||
ws.set_title("data");
|
||||
|
||||
for(int i = 0; i < 10; i++)
|
||||
{
|
||||
ws.cell(i, 0) = i;
|
||||
auto chart = BarChart();
|
||||
chart.title = "TITLE";
|
||||
chart.add_serie(Serie(Reference(ws, (0, 0), (10, 0))));
|
||||
chart._series[-1].color = Color.GREEN;
|
||||
cw = ChartWriter(chart);
|
||||
root = Element("test");
|
||||
}
|
||||
*/
|
||||
}
|
||||
|
||||
void test_write_title()
|
||||
{
|
||||
/*
|
||||
cw._write_title(root);
|
||||
TS_ASSERT_EQUALS(get_xml(root), "<?xml version=\"1.0\" encoding=\"" + utf8_xml_str + "\"?><test><c:title><c:tx><c:rich><a:bodyPr /><a:lstStyle /><a:p><a:pPr><a:defRPr /></a:pPr><a:r><a:rPr lang="fr-FR" /><a:t>TITLE</a:t></a:r></a:p></c:rich></c:tx><c:layout /></c:title></test>");
|
||||
*/
|
||||
}
|
||||
|
||||
void test_write_xaxis()
|
||||
{
|
||||
/*
|
||||
cw._write_axis(root, chart.x_axis, "c:catAx");
|
||||
TS_ASSERT_EQUALS(get_xml(root), "<?xml version=\"1.0\" encoding=\"" + utf8_xml_str + "\"?><test><c:catAx><c:axId val="60871424" /><c:scaling><c:orientation val="minMax" /></c:scaling><c:axPos val="b" /><c:tickLblPos val="nextTo" /><c:crossAx val="60873344" /><c:crosses val="autoZero" /><c:auto val="1" /><c:lblAlgn val="ctr" /><c:lblOffset val="100" /></c:catAx></test>");
|
||||
*/
|
||||
}
|
||||
|
||||
void test_write_yaxis()
|
||||
{
|
||||
/*
|
||||
cw._write_axis(root, chart.y_axis, "c:valAx");
|
||||
TS_ASSERT_EQUALS(get_xml(root), "<?xml version=\"1.0\" encoding=\"" + utf8_xml_str + "\"?><test><c:valAx><c:axId val="60873344" /><c:scaling><c:orientation val="minMax" /><c:max val="10.0" /><c:min val="0.0" /></c:scaling><c:axPos val="l" /><c:majorGridlines /><c:numFmt formatCode="General" sourceLinked="1" /><c:tickLblPos val="nextTo" /><c:crossAx val="60871424" /><c:crosses val="autoZero" /><c:crossBetween val="between" /><c:majorUnit val="2.0" /></c:valAx></test>");
|
||||
*/
|
||||
}
|
||||
|
||||
void test_write_series()
|
||||
{
|
||||
//cw._write_series(root);
|
||||
//TS_ASSERT_EQUALS(get_xml(root), "<?xml version=\"1.0\" encoding=\"" + utf8_xml_str + "\"?><test><c:ser><c:idx val="0" /><c:order val="0" /><c:spPr><a:solidFill><a:srgbClr val="00FF00" /></a:solidFill><a:ln><a:solidFill><a:srgbClr val="00FF00" /></a:solidFill></a:ln></c:spPr><c:marker><c:symbol val="none" /></c:marker><c:val><c:numRef><c:f>\"data\"!$A$1:$A$11</c:f><c:numCache><c:formatCode>General</c:formatCode><c:ptCount val="11" /><c:pt idx="0"><c:v>0</c:v></c:pt><c:pt idx="1"><c:v>1</c:v></c:pt><c:pt idx="2"><c:v>2</c:v></c:pt><c:pt idx="3"><c:v>3</c:v></c:pt><c:pt idx="4"><c:v>4</c:v></c:pt><c:pt idx="5"><c:v>5</c:v></c:pt><c:pt idx="6"><c:v>6</c:v></c:pt><c:pt idx="7"><c:v>7</c:v></c:pt><c:pt idx="8"><c:v>8</c:v></c:pt><c:pt idx="9"><c:v>9</c:v></c:pt><c:pt idx="10"><c:v>None</c:v></c:pt></c:numCache></c:numRef></c:val></c:ser></test>");
|
||||
}
|
||||
|
||||
void test_write_legend()
|
||||
{
|
||||
/*cw._write_legend(root);
|
||||
TS_ASSERT_EQUALS(get_xml(root), "<?xml version=\"1.0\" encoding=\"" + utf8_xml_str + "\"?><test><c:legend><c:legendPos val="r" /><c:layout /></c:legend></test>");*/
|
||||
}
|
||||
|
||||
void test_no_write_legend()
|
||||
{
|
||||
/*xlnt::workbook wb;
|
||||
auto ws = wb.get_active();
|
||||
ws.set_title("data");
|
||||
for(int i = 0; i < 10; i++)
|
||||
{
|
||||
ws.cell(i, 0) = i;
|
||||
ws.cell(i, 1) = i;
|
||||
scatterchart = ScatterChart();
|
||||
scatterchart.add_serie(Serie(Reference(ws, (0, 0), (10, 0)), ;
|
||||
xvalues = Reference(ws, (0, 1), (10, 1))));
|
||||
cw = ChartWriter(scatterchart);
|
||||
root = Element("test");
|
||||
scatterchart.show_legend = False;
|
||||
cw._write_legend(root);
|
||||
TS_ASSERT_EQUALS(get_xml(root), "<?xml version=\"1.0\" encoding=\"" + utf8_xml_str + "\"?><test />");
|
||||
}*/
|
||||
}
|
||||
|
||||
void test_write_print_settings()
|
||||
{
|
||||
/*cw._write_print_settings(root);
|
||||
TS_ASSERT_EQUALS(get_xml(root), "<?xml version=\"1.0\" encoding=\"" + utf8_xml_str + "\"?><test><c:printSettings><c:headerFooter /><c:pageMargins b="0.75" footer="0.3" header="0.3" l="0.7" r="0.7" t="0.75" /><c:pageSetup /></c:printSettings></test>");*/
|
||||
}
|
||||
|
||||
void test_write_chart()
|
||||
{
|
||||
//cw._write_chart(root);
|
||||
//// Truncate floats because results differ with Python >= 3.2 and <= 3.1
|
||||
//test_xml = sub("([0-9][.][0-9]{4})[0-9]*", "\\1", get_xml(root));
|
||||
//TS_ASSERT_EQUALS(test_xml, "<?xml version=\"1.0\" encoding=\"" + utf8_xml_str + "\"?><test><c:chart><c:title><c:tx><c:rich><a:bodyPr /><a:lstStyle /><a:p><a:pPr><a:defRPr /></a:pPr><a:r><a:rPr lang="fr-FR" /><a:t>TITLE</a:t></a:r></a:p></c:rich></c:tx><c:layout /></c:title><c:plotArea><c:layout><c:manualLayout><c:layoutTarget val="inner" /><c:xMode val="edge" /><c:yMode val="edge" /><c:x val="1.2857" /><c:y val="0.2125" /><c:w val="0.6" /><c:h val="0.6" /></c:manualLayout></c:layout><c:barChart><c:barDir val="col" /><c:grouping val="clustered" /><c:ser><c:idx val="0" /><c:order val="0" /><c:spPr><a:solidFill><a:srgbClr val="00FF00" /></a:solidFill><a:ln><a:solidFill><a:srgbClr val="00FF00" /></a:solidFill></a:ln></c:spPr><c:marker><c:symbol val="none" /></c:marker><c:val><c:numRef><c:f>\"data\"!$A$1:$A$11</c:f><c:numCache><c:formatCode>General</c:formatCode><c:ptCount val="11" /><c:pt idx="0"><c:v>0</c:v></c:pt><c:pt idx="1"><c:v>1</c:v></c:pt><c:pt idx="2"><c:v>2</c:v></c:pt><c:pt idx="3"><c:v>3</c:v></c:pt><c:pt idx="4"><c:v>4</c:v></c:pt><c:pt idx="5"><c:v>5</c:v></c:pt><c:pt idx="6"><c:v>6</c:v></c:pt><c:pt idx="7"><c:v>7</c:v></c:pt><c:pt idx="8"><c:v>8</c:v></c:pt><c:pt idx="9"><c:v>9</c:v></c:pt><c:pt idx="10"><c:v>None</c:v></c:pt></c:numCache></c:numRef></c:val></c:ser><c:marker val="1" /><c:axId val="60871424" /><c:axId val="60873344" /></c:barChart><c:catAx><c:axId val="60871424" /><c:scaling><c:orientation val="minMax" /></c:scaling><c:axPos val="b" /><c:tickLblPos val="nextTo" /><c:crossAx val="60873344" /><c:crosses val="autoZero" /><c:auto val="1" /><c:lblAlgn val="ctr" /><c:lblOffset val="100" /></c:catAx><c:valAx><c:axId val="60873344" /><c:scaling><c:orientation val="minMax" /><c:max val="10.0" /><c:min val="0.0" /></c:scaling><c:axPos val="l" /><c:majorGridlines /><c:numFmt formatCode="General" sourceLinked="1" /><c:tickLblPos val="nextTo" /><c:crossAx val="60871424" /><c:crosses val="autoZero" /><c:crossBetween val="between" /><c:majorUnit val="2.0" /></c:valAx></c:plotArea><c:legend><c:legendPos val="r" /><c:layout /></c:legend><c:plotVisOnly val="1" /></c:chart></test>");
|
||||
}
|
||||
|
||||
void setUp_scatter()
|
||||
{
|
||||
/*wb = Workbook();
|
||||
ws = wb.get_active_sheet();
|
||||
ws.title = "data";
|
||||
for i in range(10)
|
||||
{
|
||||
ws.cell(row = i, column = 0).value = i;
|
||||
ws.cell(row = i, column = 1).value = i;
|
||||
scatterchart = ScatterChart();
|
||||
scatterchart.add_serie(Serie(Reference(ws, (0, 0), (10, 0)), ;
|
||||
xvalues = Reference(ws, (0, 1), (10, 1))));
|
||||
cw = ChartWriter(scatterchart);
|
||||
root = Element("test");
|
||||
}*/
|
||||
}
|
||||
|
||||
void test_write_xaxis_scatter()
|
||||
{
|
||||
/*scatterchart.x_axis.title = "test x axis title";
|
||||
cw._write_axis(root, scatterchart.x_axis, "c:valAx");
|
||||
TS_ASSERT_EQUALS(get_xml(root), "<?xml version=\"1.0\" encoding=\"" + utf8_xml_str + "\"?><test><c:valAx><c:axId val="60871424" /><c:scaling><c:orientation val="minMax" /><c:max val="10.0" /><c:min val="0.0" /></c:scaling><c:axPos val="b" /><c:majorGridlines /><c:numFmt formatCode="General" sourceLinked="1" /><c:title><c:tx><c:rich><a:bodyPr /><a:lstStyle /><a:p><a:pPr><a:defRPr /></a:pPr><a:r><a:rPr lang="fr-FR" /><a:t>test x axis title</a:t></a:r></a:p></c:rich></c:tx><c:layout /></c:title><c:tickLblPos val="nextTo" /><c:crossAx val="60873344" /><c:crosses val="autoZero" /><c:auto val="1" /><c:lblAlgn val="ctr" /><c:lblOffset val="100" /><c:crossBetween val="midCat" /><c:majorUnit val="2.0" /></c:valAx></test>");*/
|
||||
}
|
||||
|
||||
void test_write_yaxis_scatter()
|
||||
{
|
||||
/*scatterchart.y_axis.title = "test y axis title";
|
||||
cw._write_axis(root, scatterchart.y_axis, "c:valAx");
|
||||
TS_ASSERT_EQUALS(get_xml(root), "<?xml version=\"1.0\" encoding=\"" + utf8_xml_str + "\"?><test><c:valAx><c:axId val="60873344" /><c:scaling><c:orientation val="minMax" /><c:max val="10.0" /><c:min val="0.0" /></c:scaling><c:axPos val="l" /><c:majorGridlines /><c:numFmt formatCode="General" sourceLinked="1" /><c:title><c:tx><c:rich><a:bodyPr /><a:lstStyle /><a:p><a:pPr><a:defRPr /></a:pPr><a:r><a:rPr lang="fr-FR" /><a:t>test y axis title</a:t></a:r></a:p></c:rich></c:tx><c:layout /></c:title><c:tickLblPos val="nextTo" /><c:crossAx val="60871424" /><c:crosses val="autoZero" /><c:crossBetween val="midCat" /><c:majorUnit val="2.0" /></c:valAx></test>");*/
|
||||
}
|
||||
|
||||
void test_write_series_scatter()
|
||||
{
|
||||
/*cw._write_series(root);
|
||||
TS_ASSERT_EQUALS(get_xml(root), "<?xml version=\"1.0\" encoding=\"" + utf8_xml_str + "\"?><test><c:ser><c:idx val="0" /><c:order val="0" /><c:marker><c:symbol val="none" /></c:marker><c:xVal><c:numRef><c:f>\"data\"!$B$1:$B$11</c:f><c:numCache><c:formatCode>General</c:formatCode><c:ptCount val="11" /><c:pt idx="0"><c:v>0</c:v></c:pt><c:pt idx="1"><c:v>1</c:v></c:pt><c:pt idx="2"><c:v>2</c:v></c:pt><c:pt idx="3"><c:v>3</c:v></c:pt><c:pt idx="4"><c:v>4</c:v></c:pt><c:pt idx="5"><c:v>5</c:v></c:pt><c:pt idx="6"><c:v>6</c:v></c:pt><c:pt idx="7"><c:v>7</c:v></c:pt><c:pt idx="8"><c:v>8</c:v></c:pt><c:pt idx="9"><c:v>9</c:v></c:pt><c:pt idx="10"><c:v>None</c:v></c:pt></c:numCache></c:numRef></c:xVal><c:yVal><c:numRef><c:f>\"data\"!$A$1:$A$11</c:f><c:numCache><c:formatCode>General</c:formatCode><c:ptCount val="11" /><c:pt idx="0"><c:v>0</c:v></c:pt><c:pt idx="1"><c:v>1</c:v></c:pt><c:pt idx="2"><c:v>2</c:v></c:pt><c:pt idx="3"><c:v>3</c:v></c:pt><c:pt idx="4"><c:v>4</c:v></c:pt><c:pt idx="5"><c:v>5</c:v></c:pt><c:pt idx="6"><c:v>6</c:v></c:pt><c:pt idx="7"><c:v>7</c:v></c:pt><c:pt idx="8"><c:v>8</c:v></c:pt><c:pt idx="9"><c:v>9</c:v></c:pt><c:pt idx="10"><c:v>None</c:v></c:pt></c:numCache></c:numRef></c:yVal></c:ser></test>");*/
|
||||
}
|
||||
|
||||
void test_write_legend_scatter()
|
||||
{
|
||||
/*cw._write_legend(root);
|
||||
TS_ASSERT_EQUALS(get_xml(root), "<?xml version=\"1.0\" encoding=\"" + utf8_xml_str + "\"?><test><c:legend><c:legendPos val="r" /><c:layout /></c:legend></test>");*/
|
||||
}
|
||||
|
||||
void test_write_print_settings_scatter()
|
||||
{
|
||||
/*cw._write_print_settings(root);
|
||||
TS_ASSERT_EQUALS(get_xml(root), "<?xml version=\"1.0\" encoding=\"" + utf8_xml_str + "\"?><test><c:printSettings><c:headerFooter /><c:pageMargins b="0.75" footer="0.3" header="0.3" l="0.7" r="0.7" t="0.75" /><c:pageSetup /></c:printSettings></test>");*/
|
||||
}
|
||||
|
||||
void test_write_chart_scatter()
|
||||
{
|
||||
//cw._write_chart(root);
|
||||
//// Truncate floats because results differ with Python >= 3.2 and <= 3.1
|
||||
//test_xml = sub("([0-9][.][0-9]{4})[0-9]*", "\\1", get_xml(root));
|
||||
//TS_ASSERT_EQUALS(test_xml, "<?xml version=\"1.0\" encoding=\"" + utf8_xml_str + "\"?>;
|
||||
}
|
||||
};
|
|
@ -2222,9 +2222,8 @@ void xlsx_consumer::read_worksheet(const std::string &rel_id)
|
|||
auto vml_drawings_part = manifest.canonicalize({workbook_rel, sheet_rel,
|
||||
manifest.get_relationship(sheet_path, xlnt::relationship::type::vml_drawing)});
|
||||
|
||||
auto receive = xml::parser::receive_default;
|
||||
xml::parser parser(archive_->open(vml_drawings_part.string()), vml_drawings_part.string(), receive);
|
||||
parser_ = &parser;
|
||||
xml::parser vml_parser(archive_->open(vml_drawings_part.string()), vml_drawings_part.string(), receive);
|
||||
parser_ = &vml_parser;
|
||||
|
||||
read_vml_drawings(ws);
|
||||
}
|
||||
|
@ -2233,7 +2232,7 @@ void xlsx_consumer::read_worksheet(const std::string &rel_id)
|
|||
|
||||
// Sheet Relationship Target Parts
|
||||
|
||||
void xlsx_consumer::read_vml_drawings(worksheet ws)
|
||||
void xlsx_consumer::read_vml_drawings(worksheet/*ws*/)
|
||||
{
|
||||
}
|
||||
|
||||
|
|
|
@ -1,39 +0,0 @@
|
|||
// Copyright (c) 2014-2016 Thomas Fussell
|
||||
// Copyright (c) 2010-2015 openpyxl
|
||||
//
|
||||
// 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, WRISING FROM,
|
||||
// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||
// THE SOFTWARE
|
||||
//
|
||||
// @license: http://www.opensource.org/licenses/mit-license.php
|
||||
// @author: see AUTHORS file
|
||||
#include <xlnt/drawing/drawing.hpp>
|
||||
|
||||
namespace xlnt {
|
||||
|
||||
struct drawing_struct
|
||||
{
|
||||
drawing_struct()
|
||||
{
|
||||
}
|
||||
};
|
||||
|
||||
drawing::drawing() : root_(nullptr)
|
||||
{
|
||||
}
|
||||
|
||||
} // namespace xlnt
|
|
@ -1,10 +0,0 @@
|
|||
#pragma once
|
||||
|
||||
#include <iostream>
|
||||
#include <cxxtest/TestSuite.h>
|
||||
|
||||
#include <xlnt/xlnt.hpp>
|
||||
|
||||
class test_drawing : public CxxTest::TestSuite
|
||||
{
|
||||
};
|
Loading…
Reference in New Issue
Block a user