xlsxwriter 0.0.4 → 0.0.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +5 -5
- data/ext/xlsxwriter/libxlsxwriter/License.txt +1 -1
- data/ext/xlsxwriter/libxlsxwriter/Makefile +1 -1
- data/ext/xlsxwriter/libxlsxwriter/include/xlsxwriter.h +2 -2
- data/ext/xlsxwriter/libxlsxwriter/include/xlsxwriter/app.h +1 -1
- data/ext/xlsxwriter/libxlsxwriter/include/xlsxwriter/chart.h +104 -4
- data/ext/xlsxwriter/libxlsxwriter/include/xlsxwriter/common.h +7 -2
- data/ext/xlsxwriter/libxlsxwriter/include/xlsxwriter/content_types.h +1 -1
- data/ext/xlsxwriter/libxlsxwriter/include/xlsxwriter/core.h +1 -1
- data/ext/xlsxwriter/libxlsxwriter/include/xlsxwriter/custom.h +1 -1
- data/ext/xlsxwriter/libxlsxwriter/include/xlsxwriter/drawing.h +1 -1
- data/ext/xlsxwriter/libxlsxwriter/include/xlsxwriter/format.h +1 -1
- data/ext/xlsxwriter/libxlsxwriter/include/xlsxwriter/hash_table.h +1 -1
- data/ext/xlsxwriter/libxlsxwriter/include/xlsxwriter/packager.h +1 -1
- data/ext/xlsxwriter/libxlsxwriter/include/xlsxwriter/relationships.h +1 -1
- data/ext/xlsxwriter/libxlsxwriter/include/xlsxwriter/shared_strings.h +1 -1
- data/ext/xlsxwriter/libxlsxwriter/include/xlsxwriter/styles.h +1 -1
- data/ext/xlsxwriter/libxlsxwriter/include/xlsxwriter/theme.h +1 -1
- data/ext/xlsxwriter/libxlsxwriter/include/xlsxwriter/utility.h +10 -5
- data/ext/xlsxwriter/libxlsxwriter/include/xlsxwriter/workbook.h +1 -1
- data/ext/xlsxwriter/libxlsxwriter/include/xlsxwriter/worksheet.h +136 -38
- data/ext/xlsxwriter/libxlsxwriter/include/xlsxwriter/xmlwriter.h +2 -2
- data/ext/xlsxwriter/libxlsxwriter/src/Makefile +11 -1
- data/ext/xlsxwriter/libxlsxwriter/src/app.c +1 -1
- data/ext/xlsxwriter/libxlsxwriter/src/chart.c +66 -10
- data/ext/xlsxwriter/libxlsxwriter/src/content_types.c +1 -1
- data/ext/xlsxwriter/libxlsxwriter/src/core.c +1 -1
- data/ext/xlsxwriter/libxlsxwriter/src/custom.c +2 -2
- data/ext/xlsxwriter/libxlsxwriter/src/drawing.c +1 -1
- data/ext/xlsxwriter/libxlsxwriter/src/format.c +1 -1
- data/ext/xlsxwriter/libxlsxwriter/src/hash_table.c +1 -1
- data/ext/xlsxwriter/libxlsxwriter/src/packager.c +4 -4
- data/ext/xlsxwriter/libxlsxwriter/src/relationships.c +1 -1
- data/ext/xlsxwriter/libxlsxwriter/src/shared_strings.c +1 -1
- data/ext/xlsxwriter/libxlsxwriter/src/styles.c +1 -1
- data/ext/xlsxwriter/libxlsxwriter/src/theme.c +1 -1
- data/ext/xlsxwriter/libxlsxwriter/src/utility.c +27 -1
- data/ext/xlsxwriter/libxlsxwriter/src/workbook.c +8 -6
- data/ext/xlsxwriter/libxlsxwriter/src/worksheet.c +143 -26
- data/ext/xlsxwriter/libxlsxwriter/src/xmlwriter.c +2 -2
- data/ext/xlsxwriter/worksheet.c +2 -0
- data/lib/xlsxwriter/version.rb +1 -1
- data/test/test-errors.rb +19 -0
- metadata +5 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
|
-
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
2
|
+
SHA256:
|
3
|
+
metadata.gz: 495f1673b10c6db9e10fd486caff1f1c15810545bdd555309a4b6b124613938c
|
4
|
+
data.tar.gz: 1a49cf8826cb02d3257f44d8ec0899144d69b23af6baa5e1ef3c1addc657d6db
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: ac2482347738c6009bc2ed51a0301d71877327d1e921035eb775f2fb5eec8d2330164a6b52075f0e0688ff33e00231b3bde47e2b5d140b044fef0e2ab6a27fca
|
7
|
+
data.tar.gz: 94d1339afa70ee9baf34a22b04481b4be6b6a6ab478cf3b7f9f7ffe8cd09831182f2ac042d65942d90a9c77e616e9f9b01b5cdd6dfb021f6fb6a9f760d023e1f
|
@@ -4,7 +4,7 @@
|
|
4
4
|
|
5
5
|
Libxlsxwriter is released under a FreeBSD license:
|
6
6
|
|
7
|
-
Copyright 2014-
|
7
|
+
Copyright 2014-2018, John McNamara <jmcnamara@cpan.org>
|
8
8
|
All rights reserved.
|
9
9
|
|
10
10
|
Redistribution and use in source and binary forms, with or without
|
@@ -1,7 +1,7 @@
|
|
1
1
|
/*
|
2
2
|
* libxlsxwriter
|
3
3
|
*
|
4
|
-
* Copyright 2014-
|
4
|
+
* Copyright 2014-2018, John McNamara, jmcnamara@cpan.org. See LICENSE.txt.
|
5
5
|
*/
|
6
6
|
|
7
7
|
/**
|
@@ -18,6 +18,6 @@
|
|
18
18
|
#include "xlsxwriter/format.h"
|
19
19
|
#include "xlsxwriter/utility.h"
|
20
20
|
|
21
|
-
#define LXW_VERSION "0.7.
|
21
|
+
#define LXW_VERSION "0.7.7"
|
22
22
|
|
23
23
|
#endif /* __LXW_XLSXWRITER_H__ */
|
@@ -1,7 +1,7 @@
|
|
1
1
|
/*
|
2
2
|
* libxlsxwriter
|
3
3
|
*
|
4
|
-
* Copyright 2014-
|
4
|
+
* Copyright 2014-2018, John McNamara, jmcnamara@cpan.org. See LICENSE.txt.
|
5
5
|
*
|
6
6
|
* chart - A libxlsxwriter library for creating Excel XLSX chart files.
|
7
7
|
*
|
@@ -464,6 +464,17 @@ typedef enum lxw_chart_label_separator {
|
|
464
464
|
LXW_CHART_LABEL_SEPARATOR_SPACE
|
465
465
|
} lxw_chart_label_separator;
|
466
466
|
|
467
|
+
/**
|
468
|
+
* @brief Chart axis types.
|
469
|
+
*/
|
470
|
+
typedef enum lxw_chart_axis_type {
|
471
|
+
/** Chart X axis. */
|
472
|
+
LXW_CHART_AXIS_TYPE_X,
|
473
|
+
|
474
|
+
/** Chart Y axis. */
|
475
|
+
LXW_CHART_AXIS_TYPE_Y
|
476
|
+
} lxw_chart_axis_type;
|
477
|
+
|
467
478
|
enum lxw_chart_subtype {
|
468
479
|
|
469
480
|
LXW_CHART_SUBTYPE_NONE = 0,
|
@@ -613,7 +624,7 @@ typedef struct lxw_chart_line {
|
|
613
624
|
/** The line dash type. See #lxw_chart_line_dash_type. */
|
614
625
|
uint8_t dash_type;
|
615
626
|
|
616
|
-
|
627
|
+
/** Set the transparency of the line. 0 - 100. Default 0. */
|
617
628
|
uint8_t transparency;
|
618
629
|
|
619
630
|
/* Members for internal use only. */
|
@@ -692,10 +703,17 @@ typedef struct lxw_chart_font {
|
|
692
703
|
/** The chart font color. See @ref working_with_colors. */
|
693
704
|
lxw_color_t color;
|
694
705
|
|
695
|
-
|
706
|
+
/** The chart font pitch family property. Rarely required. set to 0. */
|
696
707
|
uint8_t pitch_family;
|
708
|
+
|
709
|
+
/** The chart font character set property. Rarely required. set to 0. */
|
697
710
|
uint8_t charset;
|
711
|
+
|
712
|
+
/** The chart font baseline property. Rarely required. set to 0. */
|
698
713
|
int8_t baseline;
|
714
|
+
|
715
|
+
/* Members for internal use only. */
|
716
|
+
|
699
717
|
uint8_t has_color;
|
700
718
|
|
701
719
|
} lxw_chart_font;
|
@@ -808,6 +826,17 @@ typedef enum lxw_chart_error_bar_direction {
|
|
808
826
|
LXW_CHART_ERROR_BAR_DIR_MINUS
|
809
827
|
} lxw_chart_error_bar_direction;
|
810
828
|
|
829
|
+
/**
|
830
|
+
* @brief Direction for a data series error bar.
|
831
|
+
*/
|
832
|
+
typedef enum lxw_chart_error_bar_axis {
|
833
|
+
/** X axis error bar. */
|
834
|
+
LXW_CHART_ERROR_BAR_AXIS_X,
|
835
|
+
|
836
|
+
/** Y axis error bar. */
|
837
|
+
LXW_CHART_ERROR_BAR_AXIS_Y
|
838
|
+
} lxw_chart_error_bar_axis;
|
839
|
+
|
811
840
|
/**
|
812
841
|
* @brief End cap styles for a data series error bar.
|
813
842
|
*/
|
@@ -2009,6 +2038,46 @@ void chart_series_set_trendline_name(lxw_chart_series *series,
|
|
2009
2038
|
*/
|
2010
2039
|
void chart_series_set_trendline_line(lxw_chart_series *series,
|
2011
2040
|
lxw_chart_line *line);
|
2041
|
+
/**
|
2042
|
+
* @brief Get a pointer to X or Y error bars from a chart series.
|
2043
|
+
*
|
2044
|
+
* @param series A series object created via `chart_add_series()`.
|
2045
|
+
* @param axis_type The axis type (X or Y): #lxw_chart_error_bar_axis.
|
2046
|
+
*
|
2047
|
+
* The `%chart_series_get_error_bars()` function returns a pointer to the
|
2048
|
+
* error bars of a series based on the type of #lxw_chart_error_bar_axis:
|
2049
|
+
*
|
2050
|
+
* @code
|
2051
|
+
* lxw_series_error_bars *x_error_bars;
|
2052
|
+
* lxw_series_error_bars *y_error_bars;
|
2053
|
+
*
|
2054
|
+
* x_error_bars = chart_series_get_error_bars(series, LXW_CHART_ERROR_BAR_AXIS_X);
|
2055
|
+
* y_error_bars = chart_series_get_error_bars(series, LXW_CHART_ERROR_BAR_AXIS_Y);
|
2056
|
+
*
|
2057
|
+
* // Use the error bar pointers.
|
2058
|
+
* chart_series_set_error_bars(x_error_bars,
|
2059
|
+
* LXW_CHART_ERROR_BAR_TYPE_STD_DEV, 1);
|
2060
|
+
*
|
2061
|
+
* chart_series_set_error_bars(y_error_bars,
|
2062
|
+
* LXW_CHART_ERROR_BAR_TYPE_STD_ERROR, 0);
|
2063
|
+
* @endcode
|
2064
|
+
*
|
2065
|
+
* Note, the series error bars can also be accessed directly:
|
2066
|
+
*
|
2067
|
+
* @code
|
2068
|
+
* // Equivalent to the above example, without function calls.
|
2069
|
+
* chart_series_set_error_bars(series->x_error_bars,
|
2070
|
+
* LXW_CHART_ERROR_BAR_TYPE_STD_DEV, 1);
|
2071
|
+
*
|
2072
|
+
* chart_series_set_error_bars(series->y_error_bars,
|
2073
|
+
* LXW_CHART_ERROR_BAR_TYPE_STD_ERROR, 0);
|
2074
|
+
* @endcode
|
2075
|
+
*
|
2076
|
+
* @return Pointer to the series error bars, or NULL if not found.
|
2077
|
+
*/
|
2078
|
+
|
2079
|
+
lxw_series_error_bars *chart_series_get_error_bars(lxw_chart_series *series, lxw_chart_error_bar_axis
|
2080
|
+
axis_type);
|
2012
2081
|
|
2013
2082
|
/**
|
2014
2083
|
* Set the X or Y error bars for a chart series.
|
@@ -2072,7 +2141,7 @@ void chart_series_set_error_bars(lxw_series_error_bars *error_bars,
|
|
2072
2141
|
* series.
|
2073
2142
|
*
|
2074
2143
|
* @param error_bars A pointer to the series X or Y error bars.
|
2075
|
-
* @param direction The bar direction: #lxw_chart_error_bar_direction
|
2144
|
+
* @param direction The bar direction: #lxw_chart_error_bar_direction.
|
2076
2145
|
*
|
2077
2146
|
* The `%chart_series_set_error_bars_direction()` function sets the
|
2078
2147
|
* direction of the error bars:
|
@@ -2154,6 +2223,37 @@ void chart_series_set_error_bars_endcap(lxw_series_error_bars *error_bars,
|
|
2154
2223
|
void chart_series_set_error_bars_line(lxw_series_error_bars *error_bars,
|
2155
2224
|
lxw_chart_line *line);
|
2156
2225
|
|
2226
|
+
/**
|
2227
|
+
* @brief Get an axis pointer from a chart.
|
2228
|
+
*
|
2229
|
+
* @param chart Pointer to a lxw_chart instance to be configured.
|
2230
|
+
* @param axis_type The axis type (X or Y): #lxw_chart_axis_type.
|
2231
|
+
*
|
2232
|
+
* The `%chart_axis_get()` function returns a pointer to a chart axis based
|
2233
|
+
* on the #lxw_chart_axis_type:
|
2234
|
+
*
|
2235
|
+
* @code
|
2236
|
+
* lxw_chart_axis *x_axis = chart_axis_get(chart, LXW_CHART_AXIS_TYPE_X);
|
2237
|
+
* lxw_chart_axis *y_axis = chart_axis_get(chart, LXW_CHART_AXIS_TYPE_Y);
|
2238
|
+
*
|
2239
|
+
* // Use the axis pointer in other functions.
|
2240
|
+
* chart_axis_major_gridlines_set_visible(x_axis, LXW_TRUE);
|
2241
|
+
* chart_axis_major_gridlines_set_visible(y_axis, LXW_TRUE);
|
2242
|
+
* @endcode
|
2243
|
+
*
|
2244
|
+
* Note, the axis pointer can also be accessed directly:
|
2245
|
+
*
|
2246
|
+
* @code
|
2247
|
+
* // Equivalent to the above example, without function calls.
|
2248
|
+
* chart_axis_major_gridlines_set_visible(chart->x_axis, LXW_TRUE);
|
2249
|
+
* chart_axis_major_gridlines_set_visible(chart->y_axis, LXW_TRUE);
|
2250
|
+
* @endcode
|
2251
|
+
*
|
2252
|
+
* @return Pointer to the chart axis, or NULL if not found.
|
2253
|
+
*/
|
2254
|
+
lxw_chart_axis *chart_axis_get(lxw_chart *chart,
|
2255
|
+
lxw_chart_axis_type axis_type);
|
2256
|
+
|
2157
2257
|
/**
|
2158
2258
|
* @brief Set the name caption of the an axis.
|
2159
2259
|
*
|
@@ -1,7 +1,7 @@
|
|
1
1
|
/*
|
2
2
|
* libxlsxwriter
|
3
3
|
*
|
4
|
-
* Copyright 2014-
|
4
|
+
* Copyright 2014-2018, John McNamara, jmcnamara@cpan.org. See LICENSE.txt.
|
5
5
|
*/
|
6
6
|
|
7
7
|
/**
|
@@ -9,7 +9,7 @@
|
|
9
9
|
*
|
10
10
|
* @brief Common functions and defines for the libxlsxwriter library.
|
11
11
|
*
|
12
|
-
* <!-- Copyright 2014-
|
12
|
+
* <!-- Copyright 2014-2018, John McNamara, jmcnamara@cpan.org -->
|
13
13
|
*
|
14
14
|
*/
|
15
15
|
#ifndef __LXW_COMMON_H__
|
@@ -268,9 +268,14 @@ enum lxw_custom_property_types {
|
|
268
268
|
(((n) & 0xFF0000) >> 8) | \
|
269
269
|
(((n) & 0xFF000000) >> 24))
|
270
270
|
#define LXW_UINT16_NETWORK(n) ((((n) & 0x00FF) << 8) | (((n) & 0xFF00) >> 8))
|
271
|
+
#define LXW_UINT32_HOST(n) (n)
|
271
272
|
#else
|
272
273
|
#define LXW_UINT32_NETWORK(n) (n)
|
273
274
|
#define LXW_UINT16_NETWORK(n) (n)
|
275
|
+
#define LXW_UINT32_HOST(n) ((((n) & 0xFF) << 24) | \
|
276
|
+
(((n) & 0xFF00) << 8) | \
|
277
|
+
(((n) & 0xFF0000) >> 8) | \
|
278
|
+
(((n) & 0xFF000000) >> 24))
|
274
279
|
#endif
|
275
280
|
|
276
281
|
/* *INDENT-OFF* */
|
@@ -1,7 +1,7 @@
|
|
1
1
|
/*
|
2
2
|
* libxlsxwriter
|
3
3
|
*
|
4
|
-
* Copyright 2014-
|
4
|
+
* Copyright 2014-2018, John McNamara, jmcnamara@cpan.org. See LICENSE.txt.
|
5
5
|
*
|
6
6
|
* content_types - A libxlsxwriter library for creating Excel XLSX
|
7
7
|
* content_types files.
|
@@ -1,7 +1,7 @@
|
|
1
1
|
/*
|
2
2
|
* libxlsxwriter
|
3
3
|
*
|
4
|
-
* Copyright 2014-
|
4
|
+
* Copyright 2014-2018, John McNamara, jmcnamara@cpan.org. See LICENSE.txt.
|
5
5
|
*
|
6
6
|
* relationships - A libxlsxwriter library for creating Excel XLSX
|
7
7
|
* relationships files.
|
@@ -1,7 +1,7 @@
|
|
1
1
|
/*
|
2
2
|
* libxlsxwriter
|
3
3
|
*
|
4
|
-
* Copyright 2014-
|
4
|
+
* Copyright 2014-2018, John McNamara, jmcnamara@cpan.org. See LICENSE.txt.
|
5
5
|
*
|
6
6
|
* shared_strings - A libxlsxwriter library for creating Excel XLSX
|
7
7
|
* sst files.
|
@@ -1,7 +1,7 @@
|
|
1
1
|
/*
|
2
2
|
* libxlsxwriter
|
3
3
|
*
|
4
|
-
* Copyright 2014-
|
4
|
+
* Copyright 2014-2018, John McNamara, jmcnamara@cpan.org. See LICENSE.txt.
|
5
5
|
*/
|
6
6
|
|
7
7
|
/**
|
@@ -9,7 +9,7 @@
|
|
9
9
|
*
|
10
10
|
* @brief Utility functions for libxlsxwriter.
|
11
11
|
*
|
12
|
-
* <!-- Copyright 2014-
|
12
|
+
* <!-- Copyright 2014-2018, John McNamara, jmcnamara@cpan.org -->
|
13
13
|
*
|
14
14
|
*/
|
15
15
|
|
@@ -18,6 +18,7 @@
|
|
18
18
|
|
19
19
|
#include <stdint.h>
|
20
20
|
#include "common.h"
|
21
|
+
#include "xmlwriter.h"
|
21
22
|
|
22
23
|
/**
|
23
24
|
* @brief Convert an Excel `A1` cell string into a `(row, col)` pair.
|
@@ -153,9 +154,13 @@ void lxw_str_tolower(char *str);
|
|
153
154
|
|
154
155
|
FILE *lxw_tmpfile(char *tmpdir);
|
155
156
|
|
156
|
-
/*
|
157
|
-
|
158
|
-
|
157
|
+
/* Use a user defined function to format doubles in sprintf or else a simple
|
158
|
+
* macro (the default). */
|
159
|
+
#ifdef USE_DOUBLE_FUNCTION
|
160
|
+
int lxw_sprintf_dbl(char *data, double number);
|
161
|
+
#else
|
162
|
+
#define lxw_sprintf_dbl(data, number) \
|
163
|
+
lxw_snprintf(data, LXW_ATTR_32, "%.16g", number)
|
159
164
|
#endif
|
160
165
|
|
161
166
|
/* *INDENT-OFF* */
|
@@ -1,7 +1,7 @@
|
|
1
1
|
/*
|
2
2
|
* libxlsxwriter
|
3
3
|
*
|
4
|
-
* Copyright 2014-
|
4
|
+
* Copyright 2014-2018, John McNamara, jmcnamara@cpan.org. See LICENSE.txt.
|
5
5
|
*/
|
6
6
|
|
7
7
|
/**
|
@@ -267,12 +267,14 @@ STAILQ_HEAD(lxw_chart_data, lxw_image_options);
|
|
267
267
|
* Options struct for the worksheet_set_column() and worksheet_set_row()
|
268
268
|
* functions.
|
269
269
|
*
|
270
|
-
* It has the following members
|
271
|
-
* supported:
|
270
|
+
* It has the following members:
|
272
271
|
*
|
273
272
|
* * `hidden`
|
274
273
|
* * `level`
|
275
274
|
* * `collapsed`
|
275
|
+
*
|
276
|
+
* The members of this struct are explained in @ref ww_outlines_grouping.
|
277
|
+
*
|
276
278
|
*/
|
277
279
|
typedef struct lxw_row_col_options {
|
278
280
|
/** Hide the row/column */
|
@@ -696,6 +698,9 @@ typedef struct lxw_worksheet {
|
|
696
698
|
uint8_t orientation;
|
697
699
|
uint8_t outline_changed;
|
698
700
|
uint8_t outline_on;
|
701
|
+
uint8_t outline_style;
|
702
|
+
uint8_t outline_below;
|
703
|
+
uint8_t outline_right;
|
699
704
|
uint8_t page_order;
|
700
705
|
uint8_t page_setup_changed;
|
701
706
|
uint8_t page_view;
|
@@ -725,6 +730,8 @@ typedef struct lxw_worksheet {
|
|
725
730
|
uint32_t default_col_pixels;
|
726
731
|
uint8_t default_row_zeroed;
|
727
732
|
uint8_t default_row_set;
|
733
|
+
uint8_t outline_row_level;
|
734
|
+
uint8_t outline_col_level;
|
728
735
|
|
729
736
|
uint8_t header_footer_changed;
|
730
737
|
char header[LXW_HEADER_FOOTER_MAX];
|
@@ -959,6 +966,7 @@ lxw_error worksheet_write_string(lxw_worksheet *worksheet,
|
|
959
966
|
* worksheet_write_formula(worksheet, 1, 0, "=SUM(1; 2; 3)", NULL);
|
960
967
|
* @endcode
|
961
968
|
*
|
969
|
+
* See also @ref working_with_formulas.
|
962
970
|
*/
|
963
971
|
lxw_error worksheet_write_formula(lxw_worksheet *worksheet,
|
964
972
|
lxw_row_t row,
|
@@ -1172,7 +1180,7 @@ lxw_error worksheet_write_url_opt(lxw_worksheet *worksheet,
|
|
1172
1180
|
* @endcode
|
1173
1181
|
*
|
1174
1182
|
*
|
1175
|
-
* Alternatively, you can use
|
1183
|
+
* Alternatively, you can use Unix style forward slashes. These are
|
1176
1184
|
* translated internally to backslashes:
|
1177
1185
|
*
|
1178
1186
|
* @code
|
@@ -1289,6 +1297,7 @@ lxw_error worksheet_write_blank(lxw_worksheet *worksheet,
|
|
1289
1297
|
* worksheet_write_formula() function is the recommended way of writing
|
1290
1298
|
* formulas.
|
1291
1299
|
*
|
1300
|
+
* See also @ref working_with_formulas.
|
1292
1301
|
*/
|
1293
1302
|
lxw_error worksheet_write_formula_num(lxw_worksheet *worksheet,
|
1294
1303
|
lxw_row_t row,
|
@@ -1364,7 +1373,7 @@ lxw_error worksheet_set_row(lxw_worksheet *worksheet,
|
|
1364
1373
|
* `worksheet_set_row()` with an additional `options` parameter.
|
1365
1374
|
*
|
1366
1375
|
* The `options` parameter is a #lxw_row_col_options struct. It has the
|
1367
|
-
* following members
|
1376
|
+
* following members:
|
1368
1377
|
*
|
1369
1378
|
* - `hidden`
|
1370
1379
|
* - `level`
|
@@ -1374,12 +1383,41 @@ lxw_error worksheet_set_row(lxw_worksheet *worksheet,
|
|
1374
1383
|
* example, to hide intermediary steps in a complicated calculation:
|
1375
1384
|
*
|
1376
1385
|
* @code
|
1377
|
-
* lxw_row_col_options
|
1386
|
+
* lxw_row_col_options options1 = {.hidden = 1, .level = 0, .collapsed = 0};
|
1387
|
+
*
|
1388
|
+
* // Hide the fourth and fifth (zero indexed) rows.
|
1389
|
+
* worksheet_set_row_opt(worksheet, 3, LXW_DEF_ROW_HEIGHT, NULL, &options1);
|
1390
|
+
* worksheet_set_row_opt(worksheet, 4, LXW_DEF_ROW_HEIGHT, NULL, &options1);
|
1378
1391
|
*
|
1379
|
-
* // Hide the fourth row.
|
1380
|
-
* worksheet_set_row(worksheet, 3, 20, NULL, &options);
|
1381
1392
|
* @endcode
|
1382
1393
|
*
|
1394
|
+
* @image html hide_row_col2.png
|
1395
|
+
*
|
1396
|
+
* The `"hidden"`, `"level"`, and `"collapsed"`, options can also be used to
|
1397
|
+
* create Outlines and Grouping. See @ref working_with_outlines.
|
1398
|
+
*
|
1399
|
+
* @code
|
1400
|
+
* // The option structs with the outline level set.
|
1401
|
+
* lxw_row_col_options options1 = {.hidden = 0, .level = 2, .collapsed = 0};
|
1402
|
+
* lxw_row_col_options options2 = {.hidden = 0, .level = 1, .collapsed = 0};
|
1403
|
+
*
|
1404
|
+
*
|
1405
|
+
* // Set the row options with the outline level.
|
1406
|
+
* worksheet_set_row_opt(worksheet, 1, LXW_DEF_ROW_HEIGHT, NULL, &options1);
|
1407
|
+
* worksheet_set_row_opt(worksheet, 2, LXW_DEF_ROW_HEIGHT, NULL, &options1);
|
1408
|
+
* worksheet_set_row_opt(worksheet, 3, LXW_DEF_ROW_HEIGHT, NULL, &options1);
|
1409
|
+
* worksheet_set_row_opt(worksheet, 4, LXW_DEF_ROW_HEIGHT, NULL, &options1);
|
1410
|
+
* worksheet_set_row_opt(worksheet, 5, LXW_DEF_ROW_HEIGHT, NULL, &options2);
|
1411
|
+
*
|
1412
|
+
* worksheet_set_row_opt(worksheet, 6, LXW_DEF_ROW_HEIGHT, NULL, &options1);
|
1413
|
+
* worksheet_set_row_opt(worksheet, 7, LXW_DEF_ROW_HEIGHT, NULL, &options1);
|
1414
|
+
* worksheet_set_row_opt(worksheet, 8, LXW_DEF_ROW_HEIGHT, NULL, &options1);
|
1415
|
+
* worksheet_set_row_opt(worksheet, 9, LXW_DEF_ROW_HEIGHT, NULL, &options1);
|
1416
|
+
* worksheet_set_row_opt(worksheet, 10, LXW_DEF_ROW_HEIGHT, NULL, &options2);
|
1417
|
+
* @endcode
|
1418
|
+
*
|
1419
|
+
* @image html outline1.png
|
1420
|
+
*
|
1383
1421
|
*/
|
1384
1422
|
lxw_error worksheet_set_row_opt(lxw_worksheet *worksheet,
|
1385
1423
|
lxw_row_t row,
|
@@ -1487,36 +1525,48 @@ lxw_error worksheet_set_column(lxw_worksheet *worksheet,
|
|
1487
1525
|
lxw_col_t last_col,
|
1488
1526
|
double width, lxw_format *format);
|
1489
1527
|
|
1490
|
-
|
1491
|
-
|
1492
|
-
|
1493
|
-
|
1494
|
-
|
1495
|
-
|
1496
|
-
|
1497
|
-
|
1498
|
-
|
1499
|
-
|
1500
|
-
|
1501
|
-
|
1502
|
-
|
1503
|
-
|
1504
|
-
|
1505
|
-
|
1506
|
-
|
1507
|
-
|
1508
|
-
|
1509
|
-
|
1510
|
-
|
1511
|
-
|
1512
|
-
|
1513
|
-
|
1514
|
-
|
1515
|
-
|
1516
|
-
|
1517
|
-
|
1518
|
-
|
1519
|
-
|
1528
|
+
/**
|
1529
|
+
* @brief Set the properties for one or more columns of cells with options.
|
1530
|
+
*
|
1531
|
+
* @param worksheet Pointer to a lxw_worksheet instance to be updated.
|
1532
|
+
* @param first_col The zero indexed first column.
|
1533
|
+
* @param last_col The zero indexed last column.
|
1534
|
+
* @param width The width of the column(s).
|
1535
|
+
* @param format A pointer to a Format instance or NULL.
|
1536
|
+
* @param options Optional row parameters: hidden, level, collapsed.
|
1537
|
+
*
|
1538
|
+
* The `%worksheet_set_column_opt()` function is the same as
|
1539
|
+
* `worksheet_set_column()` with an additional `options` parameter.
|
1540
|
+
*
|
1541
|
+
* The `options` parameter is a #lxw_row_col_options struct. It has the
|
1542
|
+
* following members:
|
1543
|
+
*
|
1544
|
+
* - `hidden`
|
1545
|
+
* - `level`
|
1546
|
+
* - `collapsed`
|
1547
|
+
*
|
1548
|
+
* The `"hidden"` option is used to hide a column. This can be used, for
|
1549
|
+
* example, to hide intermediary steps in a complicated calculation:
|
1550
|
+
*
|
1551
|
+
* @code
|
1552
|
+
* lxw_row_col_options options1 = {.hidden = 1, .level = 0, .collapsed = 0};
|
1553
|
+
*
|
1554
|
+
* worksheet_set_column_opt(worksheet, COLS("D:E"), LXW_DEF_COL_WIDTH, NULL, &options1);
|
1555
|
+
* @endcode
|
1556
|
+
*
|
1557
|
+
* @image html hide_row_col3.png
|
1558
|
+
*
|
1559
|
+
* The `"hidden"`, `"level"`, and `"collapsed"`, options can also be used to
|
1560
|
+
* create Outlines and Grouping. See @ref working_with_outlines.
|
1561
|
+
*
|
1562
|
+
* @code
|
1563
|
+
* lxw_row_col_options options1 = {.hidden = 0, .level = 1, .collapsed = 0};
|
1564
|
+
*
|
1565
|
+
* worksheet_set_column_opt(worksheet, COLS("B:G"), 5, NULL, &options1);
|
1566
|
+
* @endcode
|
1567
|
+
*
|
1568
|
+
* @image html outline8.png
|
1569
|
+
*/
|
1520
1570
|
lxw_error worksheet_set_column_opt(lxw_worksheet *worksheet,
|
1521
1571
|
lxw_col_t first_col,
|
1522
1572
|
lxw_col_t last_col,
|
@@ -2932,6 +2982,54 @@ void worksheet_set_tab_color(lxw_worksheet *worksheet, lxw_color_t color);
|
|
2932
2982
|
void worksheet_protect(lxw_worksheet *worksheet, const char *password,
|
2933
2983
|
lxw_protection *options);
|
2934
2984
|
|
2985
|
+
/**
|
2986
|
+
* @brief Set the Outline and Grouping display properties.
|
2987
|
+
*
|
2988
|
+
* @param worksheet Pointer to a lxw_worksheet instance to be updated.
|
2989
|
+
* @param visible Outlines are visible. Optional, defaults to True.
|
2990
|
+
* @param symbols_below Show row outline symbols below the outline bar.
|
2991
|
+
* @param symbols_right Show column outline symbols to the right of outline.
|
2992
|
+
* @param auto_style Use Automatic outline style.
|
2993
|
+
*
|
2994
|
+
* The `%worksheet_outline_settings()` method is used to control the
|
2995
|
+
* appearance of outlines in Excel. Outlines are described the section on
|
2996
|
+
* @ref working_with_outlines.
|
2997
|
+
*
|
2998
|
+
* The `visible` parameter is used to control whether or not outlines are
|
2999
|
+
* visible. Setting this parameter to False will cause all outlines on the
|
3000
|
+
* worksheet to be hidden. They can be un-hidden in Excel by means of the
|
3001
|
+
* "Show Outline Symbols" command button. The default Excel setting is True
|
3002
|
+
* for visible outlines.
|
3003
|
+
*
|
3004
|
+
* The `symbols_below` parameter is used to control whether the row outline
|
3005
|
+
* symbol will appear above or below the outline level bar. The default Excel
|
3006
|
+
* setting is True for symbols to appear below the outline level bar.
|
3007
|
+
*
|
3008
|
+
* The `symbols_right` parameter is used to control whether the column outline
|
3009
|
+
* symbol will appear to the left or the right of the outline level bar. The
|
3010
|
+
* default Excel setting is True for symbols to appear to the right of the
|
3011
|
+
* outline level bar.
|
3012
|
+
*
|
3013
|
+
* The `auto_style` parameter is used to control whether the automatic outline
|
3014
|
+
* generator in Excel uses automatic styles when creating an outline. This has
|
3015
|
+
* no effect on a file generated by XlsxWriter but it does have an effect on
|
3016
|
+
* how the worksheet behaves after it is created. The default Excel setting is
|
3017
|
+
* False for "Automatic Styles" to be turned off.
|
3018
|
+
*
|
3019
|
+
* The default settings for all of these parameters in libxlsxwriter
|
3020
|
+
* correspond to Excel's default parameters and are shown below:
|
3021
|
+
*
|
3022
|
+
* @code
|
3023
|
+
* worksheet_outline_settings(worksheet1, LXW_TRUE, LXW_TRUE, LXW_TRUE, LXW_FALSE);
|
3024
|
+
* @endcode
|
3025
|
+
*
|
3026
|
+
* The worksheet parameters controlled by `worksheet_outline_settings()` are
|
3027
|
+
* rarely used.
|
3028
|
+
*/
|
3029
|
+
void worksheet_outline_settings(lxw_worksheet *worksheet, uint8_t visible,
|
3030
|
+
uint8_t symbols_below, uint8_t symbols_right,
|
3031
|
+
uint8_t auto_style);
|
3032
|
+
|
2935
3033
|
/**
|
2936
3034
|
* @brief Set the default row properties.
|
2937
3035
|
*
|