xlsxwriter 0.0.4 → 0.0.5
Sign up to get free protection for your applications and to get access to all the features.
- 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
|
*
|