kmadej_fast_excel_fork 0.2.2
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 +7 -0
- data/.gitignore +13 -0
- data/.travis.yml +28 -0
- data/CHANGELOG.md +13 -0
- data/Gemfile +17 -0
- data/Gemfile.lock +70 -0
- data/Makefile +14 -0
- data/README.md +95 -0
- data/Rakefile +24 -0
- data/appveyor.yml +25 -0
- data/benchmarks/1k_rows.rb +59 -0
- data/benchmarks/20k_rows.rb +26 -0
- data/benchmarks/init.rb +59 -0
- data/benchmarks/memory.rb +49 -0
- data/examples/example.rb +42 -0
- data/examples/example_align.rb +23 -0
- data/examples/example_chart.rb +21 -0
- data/examples/example_colors.rb +37 -0
- data/examples/example_formula.rb +18 -0
- data/examples/example_image.rb +13 -0
- data/examples/example_styles.rb +27 -0
- data/examples/logo.png +0 -0
- data/extconf.rb +0 -0
- data/fast_excel.gemspec +20 -0
- data/lib/fast_excel.rb +600 -0
- data/lib/fast_excel/binding.rb +2819 -0
- data/lib/fast_excel/binding/chart.rb +2666 -0
- data/lib/fast_excel/binding/format.rb +1177 -0
- data/lib/fast_excel/binding/workbook.rb +338 -0
- data/lib/fast_excel/binding/worksheet.rb +1555 -0
- data/libxlsxwriter/.gitignore +49 -0
- data/libxlsxwriter/.indent.pro +125 -0
- data/libxlsxwriter/.travis.yml +25 -0
- data/libxlsxwriter/CONTRIBUTING.md +226 -0
- data/libxlsxwriter/Changes.txt +557 -0
- data/libxlsxwriter/LICENSE.txt +89 -0
- data/libxlsxwriter/Makefile +156 -0
- data/libxlsxwriter/Readme.md +78 -0
- data/libxlsxwriter/cocoapods/libxlsxwriter-umbrella.h +30 -0
- data/libxlsxwriter/cocoapods/libxlsxwriter.modulemap +7 -0
- data/libxlsxwriter/include/xlsxwriter.h +23 -0
- data/libxlsxwriter/include/xlsxwriter/app.h +79 -0
- data/libxlsxwriter/include/xlsxwriter/chart.h +3476 -0
- data/libxlsxwriter/include/xlsxwriter/common.h +372 -0
- data/libxlsxwriter/include/xlsxwriter/content_types.h +74 -0
- data/libxlsxwriter/include/xlsxwriter/core.h +51 -0
- data/libxlsxwriter/include/xlsxwriter/custom.h +52 -0
- data/libxlsxwriter/include/xlsxwriter/drawing.h +111 -0
- data/libxlsxwriter/include/xlsxwriter/format.h +1214 -0
- data/libxlsxwriter/include/xlsxwriter/hash_table.h +76 -0
- data/libxlsxwriter/include/xlsxwriter/packager.h +80 -0
- data/libxlsxwriter/include/xlsxwriter/relationships.h +77 -0
- data/libxlsxwriter/include/xlsxwriter/shared_strings.h +83 -0
- data/libxlsxwriter/include/xlsxwriter/styles.h +77 -0
- data/libxlsxwriter/include/xlsxwriter/theme.h +47 -0
- data/libxlsxwriter/include/xlsxwriter/third_party/ioapi.h +214 -0
- data/libxlsxwriter/include/xlsxwriter/third_party/queue.h +694 -0
- data/libxlsxwriter/include/xlsxwriter/third_party/tmpfileplus.h +53 -0
- data/libxlsxwriter/include/xlsxwriter/third_party/tree.h +801 -0
- data/libxlsxwriter/include/xlsxwriter/third_party/zip.h +375 -0
- data/libxlsxwriter/include/xlsxwriter/utility.h +166 -0
- data/libxlsxwriter/include/xlsxwriter/workbook.h +757 -0
- data/libxlsxwriter/include/xlsxwriter/worksheet.h +2641 -0
- data/libxlsxwriter/include/xlsxwriter/xmlwriter.h +178 -0
- data/libxlsxwriter/lib/.gitignore +0 -0
- data/libxlsxwriter/libxlsxwriter.podspec +47 -0
- data/libxlsxwriter/src/Makefile +130 -0
- data/libxlsxwriter/src/app.c +443 -0
- data/libxlsxwriter/src/chart.c +6346 -0
- data/libxlsxwriter/src/content_types.c +345 -0
- data/libxlsxwriter/src/core.c +293 -0
- data/libxlsxwriter/src/custom.c +224 -0
- data/libxlsxwriter/src/drawing.c +746 -0
- data/libxlsxwriter/src/format.c +729 -0
- data/libxlsxwriter/src/hash_table.c +223 -0
- data/libxlsxwriter/src/packager.c +948 -0
- data/libxlsxwriter/src/relationships.c +245 -0
- data/libxlsxwriter/src/shared_strings.c +266 -0
- data/libxlsxwriter/src/styles.c +1088 -0
- data/libxlsxwriter/src/theme.c +348 -0
- data/libxlsxwriter/src/utility.c +515 -0
- data/libxlsxwriter/src/workbook.c +1930 -0
- data/libxlsxwriter/src/worksheet.c +5022 -0
- data/libxlsxwriter/src/xmlwriter.c +355 -0
- data/libxlsxwriter/third_party/minizip/Makefile +44 -0
- data/libxlsxwriter/third_party/minizip/Makefile.am +45 -0
- data/libxlsxwriter/third_party/minizip/Makefile.orig +25 -0
- data/libxlsxwriter/third_party/minizip/MiniZip64_Changes.txt +6 -0
- data/libxlsxwriter/third_party/minizip/MiniZip64_info.txt +74 -0
- data/libxlsxwriter/third_party/minizip/README.txt +5 -0
- data/libxlsxwriter/third_party/minizip/configure.ac +32 -0
- data/libxlsxwriter/third_party/minizip/crypt.h +131 -0
- data/libxlsxwriter/third_party/minizip/ioapi.c +247 -0
- data/libxlsxwriter/third_party/minizip/ioapi.h +208 -0
- data/libxlsxwriter/third_party/minizip/iowin32.c +456 -0
- data/libxlsxwriter/third_party/minizip/iowin32.h +28 -0
- data/libxlsxwriter/third_party/minizip/make_vms.com +25 -0
- data/libxlsxwriter/third_party/minizip/miniunz.c +660 -0
- data/libxlsxwriter/third_party/minizip/miniunzip.1 +63 -0
- data/libxlsxwriter/third_party/minizip/minizip.1 +46 -0
- data/libxlsxwriter/third_party/minizip/minizip.c +520 -0
- data/libxlsxwriter/third_party/minizip/minizip.pc.in +12 -0
- data/libxlsxwriter/third_party/minizip/mztools.c +291 -0
- data/libxlsxwriter/third_party/minizip/mztools.h +37 -0
- data/libxlsxwriter/third_party/minizip/unzip.c +2125 -0
- data/libxlsxwriter/third_party/minizip/unzip.h +437 -0
- data/libxlsxwriter/third_party/minizip/zip.c +2007 -0
- data/libxlsxwriter/third_party/minizip/zip.h +367 -0
- data/libxlsxwriter/third_party/tmpfileplus/Makefile +42 -0
- data/libxlsxwriter/third_party/tmpfileplus/tmpfileplus.c +342 -0
- data/libxlsxwriter/third_party/tmpfileplus/tmpfileplus.h +53 -0
- data/libxlsxwriter/version.txt +1 -0
- data/test/date_test.rb +22 -0
- data/test/default_format_test.rb +19 -0
- data/test/format_test.rb +171 -0
- data/test/test_helper.rb +52 -0
- data/test/tmpfile_test.rb +23 -0
- data/test/worksheet_test.rb +86 -0
- metadata +182 -0
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
*.a
|
|
2
|
+
*.o
|
|
3
|
+
*.so
|
|
4
|
+
*.to
|
|
5
|
+
*.lo
|
|
6
|
+
*.la
|
|
7
|
+
*.dylib
|
|
8
|
+
*.dll
|
|
9
|
+
test_*
|
|
10
|
+
!test_*.c
|
|
11
|
+
!test_*.cpp
|
|
12
|
+
!test_*.py
|
|
13
|
+
*.tar.gz
|
|
14
|
+
*~
|
|
15
|
+
TAGS
|
|
16
|
+
.#*
|
|
17
|
+
*#
|
|
18
|
+
~*xlsx
|
|
19
|
+
*.xlsx
|
|
20
|
+
*.bak
|
|
21
|
+
!test/functional/xlsx_files/*.xlsx
|
|
22
|
+
*.pyc
|
|
23
|
+
.cproject
|
|
24
|
+
.project
|
|
25
|
+
.pydevproject
|
|
26
|
+
.settings/
|
|
27
|
+
.DS_Store
|
|
28
|
+
__pycache__
|
|
29
|
+
.cache
|
|
30
|
+
docs/html
|
|
31
|
+
docs/latex
|
|
32
|
+
.deps
|
|
33
|
+
.dirstamp
|
|
34
|
+
_temp.c
|
|
35
|
+
examples/*
|
|
36
|
+
!examples/*.c
|
|
37
|
+
!examples/logo.png
|
|
38
|
+
!examples/Makefile
|
|
39
|
+
cov-int
|
|
40
|
+
libxlsxwriter-coverity.tgz
|
|
41
|
+
|
|
42
|
+
third_party/zlib-1.2.8/configure.log
|
|
43
|
+
third_party/zlib-1.2.8/contrib/minizip/miniunz
|
|
44
|
+
third_party/zlib-1.2.8/contrib/minizip/minizip
|
|
45
|
+
third_party/zlib-1.2.8/example
|
|
46
|
+
third_party/zlib-1.2.8/examplesh
|
|
47
|
+
third_party/zlib-1.2.8/minigzip
|
|
48
|
+
third_party/zlib-1.2.8/minigzipsh
|
|
49
|
+
third_party/zlib-1.2.8/zlib.pc
|
|
@@ -0,0 +1,125 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Indent rules for libxlsxwriter.
|
|
3
|
+
*
|
|
4
|
+
* The rules for user defined typedefs can be update as follows:
|
|
5
|
+
*
|
|
6
|
+
perl -i -pe 'print and last if /[l]ibxlsxwriter typedefs/' .indent.pro
|
|
7
|
+
ack -h typedef include/xlsxwriter/*.h src/*.c | perl -lne 'print "-T $1" if /\w+\s+\w+\s+(\w+)/' | sort >> .indent.pro
|
|
8
|
+
*
|
|
9
|
+
*/
|
|
10
|
+
|
|
11
|
+
/* Command line options used with GNU indent 2.2.10 */
|
|
12
|
+
--braces-on-if-line
|
|
13
|
+
--braces-on-struct-decl-line
|
|
14
|
+
--case-indentation 4
|
|
15
|
+
--continue-at-parentheses
|
|
16
|
+
--declaration-comment-column 0
|
|
17
|
+
--format-first-column-comments
|
|
18
|
+
--honour-newlines
|
|
19
|
+
--ignore-profile
|
|
20
|
+
--indent-label 0
|
|
21
|
+
--indent-level 4
|
|
22
|
+
--no-space-after-function-call-names
|
|
23
|
+
--no-tabs
|
|
24
|
+
--swallow-optional-blank-lines
|
|
25
|
+
|
|
26
|
+
/* Typedefs used in the code. */
|
|
27
|
+
-T int8_t
|
|
28
|
+
-T int16_t
|
|
29
|
+
-T int32_t
|
|
30
|
+
-T int64_t
|
|
31
|
+
-T uint8_t
|
|
32
|
+
-T uint16_t
|
|
33
|
+
-T uint32_t
|
|
34
|
+
-T uint64_t
|
|
35
|
+
-T ssize_t
|
|
36
|
+
-T size_t
|
|
37
|
+
-T time_t
|
|
38
|
+
|
|
39
|
+
-T LIST_ENTRY
|
|
40
|
+
-T RB_ENTRY
|
|
41
|
+
-T SLIST_ENTRY
|
|
42
|
+
-T STAILQ_ENTRY
|
|
43
|
+
-T TAILQ_ENTRY
|
|
44
|
+
|
|
45
|
+
/* libxlsxwriter typedefs. */
|
|
46
|
+
-T lxw_app
|
|
47
|
+
-T lxw_autofilter
|
|
48
|
+
-T lxw_border
|
|
49
|
+
-T lxw_cell
|
|
50
|
+
-T lxw_chart
|
|
51
|
+
-T lxw_chart_axis
|
|
52
|
+
-T lxw_chart_axis_display_unit
|
|
53
|
+
-T lxw_chart_axis_label_position
|
|
54
|
+
-T lxw_chart_axis_tick_mark
|
|
55
|
+
-T lxw_chart_axis_tick_position
|
|
56
|
+
-T lxw_chart_blank
|
|
57
|
+
-T lxw_chart_error_bar_cap
|
|
58
|
+
-T lxw_chart_error_bar_direction
|
|
59
|
+
-T lxw_chart_error_bar_type
|
|
60
|
+
-T lxw_chart_fill
|
|
61
|
+
-T lxw_chart_font
|
|
62
|
+
-T lxw_chart_gridline
|
|
63
|
+
-T lxw_chart_label_position
|
|
64
|
+
-T lxw_chart_label_separator
|
|
65
|
+
-T lxw_chart_legend
|
|
66
|
+
-T lxw_chart_legend_position
|
|
67
|
+
-T lxw_chart_line
|
|
68
|
+
-T lxw_chart_line_dash_type
|
|
69
|
+
-T lxw_chart_marker
|
|
70
|
+
-T lxw_chart_marker_type
|
|
71
|
+
-T lxw_chart_pattern
|
|
72
|
+
-T lxw_chart_pattern_type
|
|
73
|
+
-T lxw_chart_point
|
|
74
|
+
-T lxw_chart_series
|
|
75
|
+
-T lxw_chart_title
|
|
76
|
+
-T lxw_chart_trendline_type
|
|
77
|
+
-T lxw_chart_type
|
|
78
|
+
-T lxw_col_options
|
|
79
|
+
-T lxw_col_t
|
|
80
|
+
-T lxw_color_t
|
|
81
|
+
-T lxw_content_types
|
|
82
|
+
-T lxw_core
|
|
83
|
+
-T lxw_custom
|
|
84
|
+
-T lxw_custom_property
|
|
85
|
+
-T lxw_datetime
|
|
86
|
+
-T lxw_defined_name
|
|
87
|
+
-T lxw_doc_properties
|
|
88
|
+
-T lxw_drawing
|
|
89
|
+
-T lxw_drawing_coords
|
|
90
|
+
-T lxw_drawing_object
|
|
91
|
+
-T lxw_error
|
|
92
|
+
-T lxw_fill
|
|
93
|
+
-T lxw_font
|
|
94
|
+
-T lxw_format
|
|
95
|
+
-T lxw_hash_element
|
|
96
|
+
-T lxw_hash_table
|
|
97
|
+
-T lxw_header_footer_options
|
|
98
|
+
-T lxw_heading_pair
|
|
99
|
+
-T lxw_image_options
|
|
100
|
+
-T lxw_merged_range
|
|
101
|
+
-T lxw_packager
|
|
102
|
+
-T lxw_panes
|
|
103
|
+
-T lxw_part_name
|
|
104
|
+
-T lxw_print_area
|
|
105
|
+
-T lxw_protection
|
|
106
|
+
-T lxw_rel_tuple
|
|
107
|
+
-T lxw_relationships
|
|
108
|
+
-T lxw_repeat_cols
|
|
109
|
+
-T lxw_repeat_rows
|
|
110
|
+
-T lxw_row
|
|
111
|
+
-T lxw_row_col_options
|
|
112
|
+
-T lxw_row_t
|
|
113
|
+
-T lxw_selection
|
|
114
|
+
-T lxw_series_data_point
|
|
115
|
+
-T lxw_series_error_bars
|
|
116
|
+
-T lxw_series_range
|
|
117
|
+
-T lxw_sst
|
|
118
|
+
-T lxw_styles
|
|
119
|
+
-T lxw_theme
|
|
120
|
+
-T lxw_tuple
|
|
121
|
+
-T lxw_workbook
|
|
122
|
+
-T lxw_workbook_options
|
|
123
|
+
-T lxw_worksheet
|
|
124
|
+
-T lxw_worksheet_init_data
|
|
125
|
+
-T lxw_worksheet_name
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
language: c
|
|
2
|
+
|
|
3
|
+
compiler:
|
|
4
|
+
- clang
|
|
5
|
+
- gcc
|
|
6
|
+
|
|
7
|
+
env:
|
|
8
|
+
- CFLAGS='-Werror'
|
|
9
|
+
- NO_VALGRIND=1 USE_STANDARD_TMPFILE=1 CFLAGS='-Werror'
|
|
10
|
+
- NO_VALGRIND=1 CFLAGS='-Werror -m32'
|
|
11
|
+
|
|
12
|
+
install:
|
|
13
|
+
- sudo pip install pytest
|
|
14
|
+
- sudo apt-get update
|
|
15
|
+
- sudo apt-get install -y gcc-multilib
|
|
16
|
+
- sudo apt-get install -y zlib1g-dev
|
|
17
|
+
- sudo apt-get install -y zlib1g-dev:i386
|
|
18
|
+
- sudo apt-get install -y gcc
|
|
19
|
+
- sudo apt-get install -y valgrind
|
|
20
|
+
|
|
21
|
+
script:
|
|
22
|
+
- make V=1
|
|
23
|
+
- make test_functional V=1
|
|
24
|
+
- make test_unit V=1
|
|
25
|
+
- make test_valgrind V=1
|
|
@@ -0,0 +1,226 @@
|
|
|
1
|
+
# libxlsxwriter: Reporting Bugs and submitting Pull Requests
|
|
2
|
+
|
|
3
|
+
|
|
4
|
+
## Reporting Bugs
|
|
5
|
+
|
|
6
|
+
Here are some tips on reporting bugs in `libxlsxwriter`.
|
|
7
|
+
|
|
8
|
+
### Upgrade to the latest version of the library
|
|
9
|
+
|
|
10
|
+
Upgrade to the latest version of the library since the bug you are reporting
|
|
11
|
+
may already be fixed.
|
|
12
|
+
|
|
13
|
+
Check the [Changes][changes] section of the documentation to see what has
|
|
14
|
+
changed in the latest versions.
|
|
15
|
+
|
|
16
|
+
[changes]: http://libxlsxwriter.github.io/changes.html
|
|
17
|
+
|
|
18
|
+
You can check which version of `libxlsxwriter` that you are using by checking
|
|
19
|
+
the `xlsxwriter.h` header file or by adding the following to your program:
|
|
20
|
+
|
|
21
|
+
```C
|
|
22
|
+
#include <stdio.h>
|
|
23
|
+
#include "xlsxwriter.h"
|
|
24
|
+
|
|
25
|
+
int main() {
|
|
26
|
+
|
|
27
|
+
printf("Libxlsxwriter version = %s\n", LXW_VERSION);
|
|
28
|
+
|
|
29
|
+
return 0;
|
|
30
|
+
}
|
|
31
|
+
```
|
|
32
|
+
|
|
33
|
+
|
|
34
|
+
### Read the documentation
|
|
35
|
+
|
|
36
|
+
Read or search the `libxlsxwriter` [documentation][docs] to see if the issue
|
|
37
|
+
you are encountering is already explained.
|
|
38
|
+
|
|
39
|
+
[docs]: http://libxlsxwriter.github.io/index.html
|
|
40
|
+
|
|
41
|
+
### Look at the example programs
|
|
42
|
+
|
|
43
|
+
There are many [examples programs][examples] in the distribution. Try to
|
|
44
|
+
identify an example program that corresponds to your query and adapt it to use
|
|
45
|
+
as a bug report.
|
|
46
|
+
|
|
47
|
+
[examples]: http://libxlsxwriter.github.io/examples.html
|
|
48
|
+
|
|
49
|
+
|
|
50
|
+
### Use the xlsxwriter Issue Tracker
|
|
51
|
+
|
|
52
|
+
The [libxlsxwriter issue tracker][issues] is on GitHub.
|
|
53
|
+
|
|
54
|
+
[issues]: https://github.com/jmcnamara/libxlsxwriter/issues
|
|
55
|
+
|
|
56
|
+
|
|
57
|
+
### Tips for submitting a bug report
|
|
58
|
+
|
|
59
|
+
1. Describe the problem as clearly and as concisely as possible.
|
|
60
|
+
2. Include a sample program. This is probably the most important step.
|
|
61
|
+
It is generally easier to describe a problem in code than in written
|
|
62
|
+
prose.
|
|
63
|
+
3. The sample program should be as small as possible to demonstrate the
|
|
64
|
+
problem. Don't copy and paste large non-relevant sections of your
|
|
65
|
+
program.
|
|
66
|
+
|
|
67
|
+
A sample bug report is shown below. This format helps analyze and respond to
|
|
68
|
+
the bug report more quickly.
|
|
69
|
+
|
|
70
|
+
|
|
71
|
+
> Subject: Issue with SOMETHING
|
|
72
|
+
>
|
|
73
|
+
> Greetings,
|
|
74
|
+
>
|
|
75
|
+
> I am using libxlsxwriter to do SOMETHING but it appears to do SOMETHING ELSE.
|
|
76
|
+
>
|
|
77
|
+
> I am using CC version X.Y.Z, OS = uname and libxlsxwriter x.y.z.
|
|
78
|
+
>
|
|
79
|
+
> Here is some code that demonstrates the problem:
|
|
80
|
+
>
|
|
81
|
+
>
|
|
82
|
+
>```C
|
|
83
|
+
>#include "xlsxwriter.h"
|
|
84
|
+
>
|
|
85
|
+
>int main() {
|
|
86
|
+
>
|
|
87
|
+
> lxw_workbook *workbook = workbook_new("bug_report.xlsx");
|
|
88
|
+
> lxw_worksheet *worksheet = workbook_add_worksheet(workbook, NULL);
|
|
89
|
+
>
|
|
90
|
+
> worksheet_write_string(worksheet, 0, 0, "Hello", NULL);
|
|
91
|
+
> worksheet_write_number(worksheet, 1, 0, 123, NULL);
|
|
92
|
+
>
|
|
93
|
+
> return workbook_close(workbook);
|
|
94
|
+
>}
|
|
95
|
+
>```
|
|
96
|
+
>
|
|
97
|
+
|
|
98
|
+
|
|
99
|
+
# Pull Requests and Contributing to Libxlsxwriter
|
|
100
|
+
|
|
101
|
+
All patches and pull requests are welcome but in general you should start with
|
|
102
|
+
an issue tracker to describe what you intend to do before you do it.
|
|
103
|
+
|
|
104
|
+
|
|
105
|
+
### Getting Started
|
|
106
|
+
|
|
107
|
+
1. Pull requests and new feature proposals must start with an [issue
|
|
108
|
+
tracker][issues]. This serves as the focal point for the design discussion.
|
|
109
|
+
2. Describe what you plan to do. If there are API changes add some code
|
|
110
|
+
example to demonstrate them.
|
|
111
|
+
3. Fork the repository.
|
|
112
|
+
4. Run all the tests to make sure the current code works on your system using
|
|
113
|
+
`make test`. See the [Running the Test Suite][tests] section of the docs
|
|
114
|
+
for instructions.
|
|
115
|
+
5. Create a feature branch for your new feature.
|
|
116
|
+
|
|
117
|
+
|
|
118
|
+
[tests]: http://libxlsxwriter.github.io/running_the_tests.html
|
|
119
|
+
|
|
120
|
+
### Code Style
|
|
121
|
+
|
|
122
|
+
The code style is mainly K&R style with 4 space indents.
|
|
123
|
+
|
|
124
|
+
The author uses GNU indent (`gindent`) 2.2.10 with the following options:
|
|
125
|
+
|
|
126
|
+
```
|
|
127
|
+
--braces-on-if-line
|
|
128
|
+
--braces-on-struct-decl-line
|
|
129
|
+
--case-indentation 4
|
|
130
|
+
--continue-at-parentheses
|
|
131
|
+
--declaration-comment-column 0
|
|
132
|
+
--format-first-column-comments
|
|
133
|
+
--honour-newlines
|
|
134
|
+
--ignore-profile
|
|
135
|
+
--indent-label 0
|
|
136
|
+
--indent-level 4
|
|
137
|
+
--no-space-after-function-call-names
|
|
138
|
+
--no-tabs
|
|
139
|
+
--swallow-optional-blank-lines
|
|
140
|
+
```
|
|
141
|
+
|
|
142
|
+
The [indent configuration file][indentpro] is available in the repo. The code
|
|
143
|
+
can be indented automatically if the same version of `gindent` is used with
|
|
144
|
+
the following make command:
|
|
145
|
+
|
|
146
|
+
```shell
|
|
147
|
+
make indent
|
|
148
|
+
```
|
|
149
|
+
|
|
150
|
+
Note, make sure you have backed up your files or added them to the index
|
|
151
|
+
before running this command.
|
|
152
|
+
|
|
153
|
+
In general follow the existing style in the code.
|
|
154
|
+
|
|
155
|
+
[indentpro]: https://github.com/jmcnamara/libxlsxwriter/blob/master/.indent.pro
|
|
156
|
+
|
|
157
|
+
### Writing and Running Tests
|
|
158
|
+
|
|
159
|
+
Any significant features should be accompanied by a test. See the `test`
|
|
160
|
+
directory and the [Running the Test Suite][tests] section of the docs for
|
|
161
|
+
details of the test setup.
|
|
162
|
+
|
|
163
|
+
The tests can be run as follows:
|
|
164
|
+
|
|
165
|
+
```shell
|
|
166
|
+
make test
|
|
167
|
+
```
|
|
168
|
+
Same as:
|
|
169
|
+
|
|
170
|
+
```shell
|
|
171
|
+
make test_unit
|
|
172
|
+
make test_functional
|
|
173
|
+
```
|
|
174
|
+
|
|
175
|
+
The functional tests require the Python module [pytest][pytest] as a test runner.
|
|
176
|
+
|
|
177
|
+
If you have `valgrind` installed you can use the test suite to check for memory leaks:
|
|
178
|
+
|
|
179
|
+
```shell
|
|
180
|
+
make test_valgrind
|
|
181
|
+
```
|
|
182
|
+
|
|
183
|
+
When you push your changes they will also be tested automatically using
|
|
184
|
+
[Travis CI][travis].
|
|
185
|
+
|
|
186
|
+
[Travis]: https://travis-ci.org/jmcnamara/libxlsxwriter/
|
|
187
|
+
[pytest]: http://pytest.org/
|
|
188
|
+
|
|
189
|
+
|
|
190
|
+
### Documentation
|
|
191
|
+
|
|
192
|
+
The `libxlsxwriter` documentation is written in Doxygen format in the header
|
|
193
|
+
files and in additional `.dox` files in the `docs/src` directory of the
|
|
194
|
+
repo. The documentation can be built as follows:
|
|
195
|
+
|
|
196
|
+
```shell
|
|
197
|
+
make docs
|
|
198
|
+
open docs/html/index.html
|
|
199
|
+
```
|
|
200
|
+
|
|
201
|
+
|
|
202
|
+
### Example programs
|
|
203
|
+
|
|
204
|
+
If applicable add an example program to the `examples` directory. Example
|
|
205
|
+
files can be built using:
|
|
206
|
+
|
|
207
|
+
```shell
|
|
208
|
+
make docs
|
|
209
|
+
```
|
|
210
|
+
|
|
211
|
+
### Copyright and License
|
|
212
|
+
|
|
213
|
+
Copyright remains with the original author. Do not include additional
|
|
214
|
+
copyright claims or Licensing requirements. GitHub and the `git` repository
|
|
215
|
+
will record your contribution and it will be acknowledged it in the Changes
|
|
216
|
+
file.
|
|
217
|
+
|
|
218
|
+
|
|
219
|
+
### Submitting the Pull Request
|
|
220
|
+
|
|
221
|
+
If your change involves several incremental `git` commits then `rebase` or
|
|
222
|
+
`squash` them onto another branch so that the Pull Request is a single commit
|
|
223
|
+
or a small number of logical commits.
|
|
224
|
+
|
|
225
|
+
Push your changes to GitHub and submit the Pull Request with a hash link to
|
|
226
|
+
the to the Issue tracker that was opened above.
|
|
@@ -0,0 +1,557 @@
|
|
|
1
|
+
/**
|
|
2
|
+
@page changes Changes
|
|
3
|
+
|
|
4
|
+
|
|
5
|
+
## 0.6.9 January 30 2017
|
|
6
|
+
|
|
7
|
+
- Added chart trendlines. See @ref chart_trendlines and
|
|
8
|
+
@ref chart_data_tools.c.
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
## 0.6.8 January 28 2017
|
|
12
|
+
|
|
13
|
+
- Added chart error bars. See @ref chart_error_bars and
|
|
14
|
+
@ref chart_data_tools.c.
|
|
15
|
+
|
|
16
|
+
## 0.6.7 January 24 2017
|
|
17
|
+
|
|
18
|
+
- Added chart data labels. See @ref chart_labels.
|
|
19
|
+
|
|
20
|
+
|
|
21
|
+
## 0.6.6 January 22 2017
|
|
22
|
+
|
|
23
|
+
- Added functions to set chart Up-Down bars: see `chart_set_up_down_bars()`
|
|
24
|
+
and `chart_set_up_down_bars_format()` and @ref chart_data_tools.c.
|
|
25
|
+
|
|
26
|
+
- Added functions to handle blank and hidden data in charts: see
|
|
27
|
+
`chart_show_blanks_as()` and `chart_show_hidden_data()`.
|
|
28
|
+
|
|
29
|
+
|
|
30
|
+
## 0.6.5 January 21 2017
|
|
31
|
+
|
|
32
|
+
- Added functions to set the overlap and gap between series: see
|
|
33
|
+
`chart_set_series_overlap()` and `chart_set_series_gap()`.
|
|
34
|
+
|
|
35
|
+
|
|
36
|
+
## 0.6.4 January 20 2017
|
|
37
|
+
|
|
38
|
+
- Added chart data table option, see `chart_set_table()` and
|
|
39
|
+
`chart_set_table_grid()`.
|
|
40
|
+
|
|
41
|
+
- Added Clustered Chart example, see @ref chart_clustered.c.
|
|
42
|
+
|
|
43
|
+
|
|
44
|
+
## 0.6.3 January 19 2017
|
|
45
|
+
|
|
46
|
+
- Added `chart_set_drop_lines()` and `chart_set_high_low_lines()` functions to
|
|
47
|
+
add chart Drop and High-Low lines to indicate category values.
|
|
48
|
+
See @ref chart_data_tools.c.
|
|
49
|
+
|
|
50
|
+
|
|
51
|
+
## 0.6.2 January 17 2017
|
|
52
|
+
|
|
53
|
+
- Added `chart_series_set_smooth()` function to set the line smoothing
|
|
54
|
+
property of a line or scatter chart series.
|
|
55
|
+
|
|
56
|
+
|
|
57
|
+
## 0.6.1 January 16 2017
|
|
58
|
+
|
|
59
|
+
- Added option to set formatting for points in a chart. This allow the colors
|
|
60
|
+
of Pie chart segments to be defined. See @ref chart_points.
|
|
61
|
+
|
|
62
|
+
|
|
63
|
+
## 0.6.0 January 15 2017
|
|
64
|
+
|
|
65
|
+
- Added option to set the number format for a chart axis, see
|
|
66
|
+
`chart_axis_set_num_format()`.
|
|
67
|
+
|
|
68
|
+
- Added "invert if negative" option for series fills, see
|
|
69
|
+
`chart_series_set_invert_if_negative()`.
|
|
70
|
+
|
|
71
|
+
|
|
72
|
+
## 0.5.9 January 14 2017
|
|
73
|
+
|
|
74
|
+
- Added support for chart axis crossing. See `chart_axis_set_crossing()` and
|
|
75
|
+
`chart_axis_set_crossing_max()`.
|
|
76
|
+
|
|
77
|
+
|
|
78
|
+
## 0.5.8 January 13 2017
|
|
79
|
+
|
|
80
|
+
- Added `chart_axis_set_major_tick_mark()` and
|
|
81
|
+
`chart_axis_set_minor_tick_mark()` functions to chart axis tick marks.
|
|
82
|
+
|
|
83
|
+
|
|
84
|
+
## 0.5.7 January 12 2017
|
|
85
|
+
|
|
86
|
+
- Added `chart_axis_set_display_units()` function to set chart axis display
|
|
87
|
+
units.
|
|
88
|
+
|
|
89
|
+
|
|
90
|
+
## 0.5.6 January 11 2017
|
|
91
|
+
|
|
92
|
+
- Added `chart_axis_set_interval_unit()` and `chart_axis_set_interval_tick()`
|
|
93
|
+
functions to adjust category axis intervals.
|
|
94
|
+
|
|
95
|
+
|
|
96
|
+
## 0.5.5 January 10 2017
|
|
97
|
+
|
|
98
|
+
- Added `chart_axis_set_major_unit()` and `chart_axis_set_minor_unit()` to set
|
|
99
|
+
the major and minor units of a category axis.
|
|
100
|
+
|
|
101
|
+
|
|
102
|
+
## 0.5.4 January 9 2017
|
|
103
|
+
|
|
104
|
+
- Added `chart_axis_set_label_position()` option to position the axis labels
|
|
105
|
+
(numbers).
|
|
106
|
+
|
|
107
|
+
- Improved documentation for @ref ww_charts_axes.
|
|
108
|
+
|
|
109
|
+
|
|
110
|
+
## 0.5.3 January 8 2017
|
|
111
|
+
|
|
112
|
+
- Added `chart_axis_set_position()` option to position a category axis
|
|
113
|
+
horizontally on, or between, the axis tick marks.
|
|
114
|
+
|
|
115
|
+
|
|
116
|
+
## 0.5.2 January 7 2017
|
|
117
|
+
|
|
118
|
+
- Added option to turn off chart axis: `chart_axis_off()`.
|
|
119
|
+
|
|
120
|
+
|
|
121
|
+
## 0.5.1 January 6 2017
|
|
122
|
+
|
|
123
|
+
- Added chart major and minor gridlines handling, see:
|
|
124
|
+
|
|
125
|
+
- `chart_axis_major_gridlines_set_visible()`
|
|
126
|
+
- `chart_axis_minor_gridlines_set_visible()`
|
|
127
|
+
- `chart_axis_major_gridlines_set_line()`
|
|
128
|
+
- `chart_axis_minor_gridlines_set_line()`
|
|
129
|
+
|
|
130
|
+
|
|
131
|
+
## 0.5.0 January 5 2017
|
|
132
|
+
|
|
133
|
+
- Added chart and plot area formatting. See `chart_chartarea_set_line()` and
|
|
134
|
+
`chart_plotarea_set_line()`.
|
|
135
|
+
|
|
136
|
+
|
|
137
|
+
## 0.4.9 January 4 2017
|
|
138
|
+
|
|
139
|
+
- Added support for chart patterns. See @ref chart_patterns.
|
|
140
|
+
|
|
141
|
+
|
|
142
|
+
## 0.4.8 January 3 2017
|
|
143
|
+
|
|
144
|
+
- Added support for chart markers. See @ref chart_markers.
|
|
145
|
+
|
|
146
|
+
|
|
147
|
+
## 0.4.7 January 2 2017
|
|
148
|
+
|
|
149
|
+
- Added `chart_axis_set_reverse()` function to reverse the order of a chart
|
|
150
|
+
axis.
|
|
151
|
+
|
|
152
|
+
- Added `chart_axis_set_min()`and `chart_axis_set_max()` functions to set the
|
|
153
|
+
minimum and maximum value for a chart axis.
|
|
154
|
+
|
|
155
|
+
- Added `chart_axis_set_log_base()` function to set the log base of a chart
|
|
156
|
+
axis.
|
|
157
|
+
Feature request [#70][gh_70].
|
|
158
|
+
|
|
159
|
+
[gh_70]: https://github.com/jmcnamara/libxlsxwriter/issues/70
|
|
160
|
+
|
|
161
|
+
|
|
162
|
+
## 0.4.6 January 1 2017
|
|
163
|
+
|
|
164
|
+
- Added functions to set chart line and fill properties, see:
|
|
165
|
+
|
|
166
|
+
- `chart_series_set_line()`. Feature request [#83][gh_83].
|
|
167
|
+
- `chart_series_set_fill()`.
|
|
168
|
+
- `chart_axis_set_line()`.
|
|
169
|
+
- `chart_axis_set_fill()`.
|
|
170
|
+
- @ref chart_lines.
|
|
171
|
+
- @ref chart_fills.
|
|
172
|
+
|
|
173
|
+
[gh_83]: https://github.com/jmcnamara/libxlsxwriter/issues/83
|
|
174
|
+
|
|
175
|
+
|
|
176
|
+
## 0.4.5 December 31 2016
|
|
177
|
+
|
|
178
|
+
- Added functions to set chart legend properties: see `chart_legend_set_position()`,
|
|
179
|
+
`chart_legend_set_font()` and `chart_legend_delete_series()`.
|
|
180
|
+
|
|
181
|
+
|
|
182
|
+
## 0.4.4 December 30 2016
|
|
183
|
+
- Added chart fonts. See `chart_axis_set_name_font()`, `chart_axis_set_num_font()`,
|
|
184
|
+
`chart_title_set_name_font()` and @ref chart_fonts.
|
|
185
|
+
|
|
186
|
+
|
|
187
|
+
## 0.4.3 December 26 2016
|
|
188
|
+
|
|
189
|
+
- Added `workbook_get_worksheet_by_name()` function to get a worksheet
|
|
190
|
+
object from its name.
|
|
191
|
+
|
|
192
|
+
- Added `workbook_validate_worksheet_name()` function to validate a worksheet
|
|
193
|
+
name.
|
|
194
|
+
|
|
195
|
+
- Fix for parameter length check when strings are UTF-8.
|
|
196
|
+
Issue [#84][gh_84].
|
|
197
|
+
|
|
198
|
+
[gh_84]: https://github.com/jmcnamara/libxlsxwriter/issues/84
|
|
199
|
+
|
|
200
|
+
|
|
201
|
+
## 0.4.2 July 14 2016
|
|
202
|
+
|
|
203
|
+
- Added support for OpenBSD and better support for FreeBSD. See @ref gsg_bsd.
|
|
204
|
+
|
|
205
|
+
|
|
206
|
+
## 0.4.1 July 11 2016
|
|
207
|
+
|
|
208
|
+
- Switched to using
|
|
209
|
+
[tmpfileplus](http://www.di-mgt.com.au/c_function_to_create_temp_file.html)
|
|
210
|
+
for temporary file handles to work around issue when the temp directory on
|
|
211
|
+
Windows isn't writeable. The temp file directory is now also configurable at
|
|
212
|
+
runtime, see @ref gsg_tmpdir.
|
|
213
|
+
|
|
214
|
+
Issue [#63][gh_63].
|
|
215
|
+
|
|
216
|
+
[gh_63]: https://github.com/jmcnamara/libxlsxwriter/issues/63
|
|
217
|
+
|
|
218
|
+
|
|
219
|
+
## 0.4.0 July 5 2016
|
|
220
|
+
|
|
221
|
+
- Added fixes for MSVC 2010.
|
|
222
|
+
|
|
223
|
+
- Refactored public APIs to return #lxw_error instead of int.
|
|
224
|
+
|
|
225
|
+
|
|
226
|
+
## 0.3.9 July 2 2016
|
|
227
|
+
|
|
228
|
+
- Added support for MinGW, MinGW-w64, Cygwin, MSYS and MSYS2.
|
|
229
|
+
See @ref gsg_ming.
|
|
230
|
+
|
|
231
|
+
|
|
232
|
+
## 0.3.8 June 11 2016
|
|
233
|
+
|
|
234
|
+
- Added workbook functions to set custom document properties. See
|
|
235
|
+
`workbook_set_custom_property_string()` and @ref doc_custom_properties.c.
|
|
236
|
+
|
|
237
|
+
|
|
238
|
+
## 0.3.7 June 2 2016
|
|
239
|
+
|
|
240
|
+
- Added updated Cocoapods file for Cocoapods 1.0.0. This also add support for
|
|
241
|
+
the "use_frameworks" directive. Thanks to Ludovico Rossi. See @ref
|
|
242
|
+
getting_started for instructions on how to use the cocoapod.
|
|
243
|
+
|
|
244
|
+
Pull request [#50][gh_50].
|
|
245
|
+
|
|
246
|
+
[gh_50]: https://github.com/jmcnamara/libxlsxwriter/issues/50
|
|
247
|
+
|
|
248
|
+
|
|
249
|
+
## 0.3.6 June 1 2016
|
|
250
|
+
|
|
251
|
+
- Fix for `worksheet_insert_image()` issue when handling images with zero dpi.
|
|
252
|
+
|
|
253
|
+
|
|
254
|
+
## 0.3.5 May 31 2016
|
|
255
|
+
|
|
256
|
+
- Refactored the error handling and reporting for when the file creation
|
|
257
|
+
subsystem fails due to file permissions or other issues. The new error codes
|
|
258
|
+
are in `#lxw_error` and the codes can be converted to strings, for reporting,
|
|
259
|
+
using the new `lxw_strerror()` function.
|
|
260
|
+
|
|
261
|
+
Issue [#49][gh_49].
|
|
262
|
+
|
|
263
|
+
[gh_49]: https://github.com/jmcnamara/libxlsxwriter/issues/49
|
|
264
|
+
|
|
265
|
+
|
|
266
|
+
## 0.3.4 May 28 2016
|
|
267
|
+
|
|
268
|
+
- Updated the @ref getting_started docs with instructions on how to build
|
|
269
|
+
libxlsxwriter for Windows using Microsoft Visual Studio and added links to
|
|
270
|
+
the example MSVC project:
|
|
271
|
+
[MSVCLibXlsxWriter](https://github.com/jmcnamara/MSVCLibXlsxWriter).
|
|
272
|
+
|
|
273
|
+
|
|
274
|
+
## 0.3.3 May 23 2016
|
|
275
|
+
|
|
276
|
+
- Added support for charts via the @ref chart.h "The Chart object". See the
|
|
277
|
+
examples of the supported chart types:
|
|
278
|
+
|
|
279
|
+
- @ref chart_area.c "Area chart"
|
|
280
|
+
- @ref chart_bar.c "Bar chart"
|
|
281
|
+
- @ref chart_column.c "Column chart"
|
|
282
|
+
- @ref chart_line.c "Line chart"
|
|
283
|
+
- @ref chart_scatter.c "Scatter chart"
|
|
284
|
+
- @ref chart_radar.c "Radar chart"
|
|
285
|
+
- @ref chart_pie.c "Pie chart"
|
|
286
|
+
- @ref chart_doughnut.c "Doughnut chart"
|
|
287
|
+
- @ref chart_styles.c "Built-in charts styles"
|
|
288
|
+
|
|
289
|
+
Feature request [#36][gh_36].
|
|
290
|
+
|
|
291
|
+
[gh_36]: https://github.com/jmcnamara/libxlsxwriter/issues/36
|
|
292
|
+
|
|
293
|
+
|
|
294
|
+
## 0.3.2 April 8 2016
|
|
295
|
+
|
|
296
|
+
- Added the `worksheet_write_boolean()` function to write Excel boolean
|
|
297
|
+
values.
|
|
298
|
+
Feature request [#47][gh_47].
|
|
299
|
+
|
|
300
|
+
[gh_47]: https://github.com/jmcnamara/libxlsxwriter/issues/47
|
|
301
|
+
|
|
302
|
+
|
|
303
|
+
## 0.3.1 January 9 2016
|
|
304
|
+
|
|
305
|
+
- Improved performance 20-30% for large data files.
|
|
306
|
+
|
|
307
|
+
|
|
308
|
+
## 0.3.0 January 4 2016
|
|
309
|
+
|
|
310
|
+
- Renamed `worksheet_set_row()` function to `worksheet_set_row_opt()` for
|
|
311
|
+
consistency with current and future APIs. The `worksheet_set_row()` function
|
|
312
|
+
is now used without the options parameter.
|
|
313
|
+
|
|
314
|
+
Note: This is a backward incompatible change.
|
|
315
|
+
|
|
316
|
+
|
|
317
|
+
- Renamed `worksheet_set_column()` function to `worksheet_set_column_opt()`
|
|
318
|
+
for consistency with current and future APIs. The `worksheet_set_column()`
|
|
319
|
+
function is now used without the options parameter.
|
|
320
|
+
|
|
321
|
+
Note: This is a backward incompatible change.
|
|
322
|
+
|
|
323
|
+
|
|
324
|
+
## 0.2.9 January 3 2016
|
|
325
|
+
|
|
326
|
+
- Added the `worksheet_insert_image()` function to add PNG and JPG images to
|
|
327
|
+
worksheets. See @ref demo.c and @ref images.c.
|
|
328
|
+
|
|
329
|
+
|
|
330
|
+
## 0.2.8 December 22 2015
|
|
331
|
+
|
|
332
|
+
- Added `worksheet_set_default_row()` function to allow setting of default row
|
|
333
|
+
height and hiding unused rows. See the @ref hide_row_col.c example.
|
|
334
|
+
|
|
335
|
+
|
|
336
|
+
## 0.2.7 December 21 2015
|
|
337
|
+
|
|
338
|
+
- Added support for escaping control characters in strings. This prevents
|
|
339
|
+
unreadable files if string data contains control characters.
|
|
340
|
+
Issue [#42][gh_42].
|
|
341
|
+
|
|
342
|
+
[gh_42]: https://github.com/jmcnamara/libxlsxwriter/issues/42
|
|
343
|
+
|
|
344
|
+
|
|
345
|
+
## 0.2.6 December 19 2015
|
|
346
|
+
|
|
347
|
+
- Added `worksheet_protect()` function to protect Excel worksheet elements
|
|
348
|
+
from modification. See the @ref worksheet_protection.c example.
|
|
349
|
+
|
|
350
|
+
|
|
351
|
+
## 0.2.5 December 14 2015
|
|
352
|
+
|
|
353
|
+
- Added `workbook_set_properties()` function to set Excel document properties
|
|
354
|
+
such as Author and Title. See the @ref doc_properties.c example.
|
|
355
|
+
|
|
356
|
+
|
|
357
|
+
## 0.2.4 December 13 2015
|
|
358
|
+
|
|
359
|
+
- Added `worksheet_hide()` function to hide a worksheet. See the @ref
|
|
360
|
+
hide_sheet.c example.
|
|
361
|
+
|
|
362
|
+
- Added `worksheet_set_first_sheet()` function to set the first visible
|
|
363
|
+
worksheet in a workbook with a large number of worksheets.
|
|
364
|
+
|
|
365
|
+
|
|
366
|
+
## 0.2.3 December 12 2015
|
|
367
|
+
|
|
368
|
+
- Added `worksheet_set_tab_color()` function to set the worksheet tab
|
|
369
|
+
color. See the @ref tab_colors.c example.
|
|
370
|
+
|
|
371
|
+
|
|
372
|
+
## 0.2.2 December 11 2015
|
|
373
|
+
|
|
374
|
+
- Replaced shared strings hash table with a Red/Black tree implementation for
|
|
375
|
+
better performance.
|
|
376
|
+
Thanks to Martin Renters. Pull Request [#41][gh_41].
|
|
377
|
+
|
|
378
|
+
[gh_41]: https://github.com/jmcnamara/libxlsxwriter/issues/41
|
|
379
|
+
|
|
380
|
+
|
|
381
|
+
## 0.2.1 December 11 2015
|
|
382
|
+
|
|
383
|
+
- Added `worksheet_right_to_left()` function. This can be used to change the
|
|
384
|
+
default direction of the worksheet from left-to-right when creating Arabic,
|
|
385
|
+
Hebrew or other near or far eastern worksheets that use right-to-left as the
|
|
386
|
+
default direction.
|
|
387
|
+
|
|
388
|
+
- Added `worksheet_hide_zero()` function to hide zero cell values.
|
|
389
|
+
|
|
390
|
+
- Added `worksheet_set_zoom()` method to set the worksheet zoom factor.
|
|
391
|
+
|
|
392
|
+
|
|
393
|
+
## 0.2.0 December 9 2015
|
|
394
|
+
|
|
395
|
+
- Added `worksheet_set_selection()` function to set the cell selected range on
|
|
396
|
+
a worksheet.
|
|
397
|
+
|
|
398
|
+
|
|
399
|
+
## 0.1.9 December 7 2015
|
|
400
|
+
|
|
401
|
+
- Replaced main worksheet data structure with a Red/Black tree implementation
|
|
402
|
+
for better performance when data isn't added in linear row-column order.
|
|
403
|
+
Thanks to Martin Renters. Pull Request [#14][gh_14] and [#16][gh_16].
|
|
404
|
+
|
|
405
|
+
[gh_14]: https://github.com/jmcnamara/libxlsxwriter/issues/14
|
|
406
|
+
[gh_16]: https://github.com/jmcnamara/libxlsxwriter/issues/16
|
|
407
|
+
|
|
408
|
+
|
|
409
|
+
## 0.1.8 December 7 2015
|
|
410
|
+
|
|
411
|
+
- Added `worksheet_freeze_panes()` and `worksheet_split_panes()` to allow
|
|
412
|
+
setting worksheet panes. See @ref panes.c example.
|
|
413
|
+
|
|
414
|
+
- Added link to [Xcode project][libxlsxwriterCocoaExamples] for iOS and OS X
|
|
415
|
+
with Objective-C and Swift, provided by Ludovico Rossi.
|
|
416
|
+
|
|
417
|
+
- Added improved support for Windows.
|
|
418
|
+
|
|
419
|
+
[libxlsxwriterCocoaExamples]: https://github.com/lrossi/libxlsxwriterCocoaExamples
|
|
420
|
+
|
|
421
|
+
## 0.1.7 September 27 2015
|
|
422
|
+
|
|
423
|
+
- Fixed Cocoapod spec file for iOS and OS X.
|
|
424
|
+
|
|
425
|
+
|
|
426
|
+
## 0.1.6 September 27 2015
|
|
427
|
+
|
|
428
|
+
- Added Cocoapod spec file to allow the library to be installed using
|
|
429
|
+
[CocoaPods](https://cocoapods.org).
|
|
430
|
+
Pull Request [#7](https://github.com/jmcnamara/libxlsxwriter/issues/7).
|
|
431
|
+
|
|
432
|
+
|
|
433
|
+
## 0.1.5 May 3 2015
|
|
434
|
+
|
|
435
|
+
- Added `worksheet_write_url()` function to write urls/hyperlinks to
|
|
436
|
+
worksheets. See also @ref hyperlinks.c.
|
|
437
|
+
|
|
438
|
+
|
|
439
|
+
## 0.1.4 March 18 2015
|
|
440
|
+
|
|
441
|
+
- Added `worksheet_autofilter()` function to add autofilters to worksheets.
|
|
442
|
+
See also @ref autofilter.c.
|
|
443
|
+
|
|
444
|
+
|
|
445
|
+
## 0.1.3 March 15 2015
|
|
446
|
+
|
|
447
|
+
- Added `worksheet_write_array_formula()` function to allow writing of
|
|
448
|
+
array formulas in worksheets.
|
|
449
|
+
|
|
450
|
+
|
|
451
|
+
## 0.1.2 March 14 2015
|
|
452
|
+
|
|
453
|
+
- Added `worksheet_set_h_pagebreaks()` and `worksheet_set_v_pagebreaks()`
|
|
454
|
+
functions to define worksheet page breaks.
|
|
455
|
+
|
|
456
|
+
- Added LXW_FOREACH_WORKSHEET() macro to allow iteration over all the
|
|
457
|
+
worksheets in a workbook.
|
|
458
|
+
|
|
459
|
+
- Added `worksheet_set_print_scale()` function to set the scale factor for
|
|
460
|
+
the printed page.
|
|
461
|
+
|
|
462
|
+
- Added `worksheet_set_start_page()` function to set the start page number
|
|
463
|
+
when printing.
|
|
464
|
+
|
|
465
|
+
|
|
466
|
+
## 0.1.1 March 13 2015
|
|
467
|
+
|
|
468
|
+
- Added `worksheet_print_area()` function to control the print area of a
|
|
469
|
+
worksheet.
|
|
470
|
+
|
|
471
|
+
- Added `worksheet_fit_to_pages()` function to fit the printed area to a
|
|
472
|
+
specific number of pages both vertically and horizontally.
|
|
473
|
+
|
|
474
|
+
|
|
475
|
+
## 0.1.0 March 12 2015
|
|
476
|
+
|
|
477
|
+
- Added `worksheet_repeat_rows()` and `worksheet_repeat_columns()` functions
|
|
478
|
+
to control the repeated rows/columns on printed worksheets.
|
|
479
|
+
|
|
480
|
+
|
|
481
|
+
## 0.0.9 March 9 2015
|
|
482
|
+
|
|
483
|
+
- Added `worksheet_gridlines()` function to show/hide screen and print
|
|
484
|
+
gridlines.
|
|
485
|
+
|
|
486
|
+
- Added `worksheet_center_horizontally()` and `worksheet_center_vertically()`
|
|
487
|
+
functions to center worksheet on the printed page.
|
|
488
|
+
|
|
489
|
+
- Added `worksheet_print_row_col_headers()` function to enable printing of row
|
|
490
|
+
and column headers.
|
|
491
|
+
|
|
492
|
+
|
|
493
|
+
## 0.0.8 March 8 2015
|
|
494
|
+
|
|
495
|
+
- Added support for worksheet headers and footers via the
|
|
496
|
+
`worksheet_set_header()` and `worksheet_set_footer()` functions. See also
|
|
497
|
+
@ref headers_footers.c.
|
|
498
|
+
|
|
499
|
+
|
|
500
|
+
## 0.0.7 March 7 2015
|
|
501
|
+
|
|
502
|
+
- Added the `worksheet_merge_range()` method to merge worksheet cells. See
|
|
503
|
+
also @ref merge_range.c.
|
|
504
|
+
|
|
505
|
+
|
|
506
|
+
## 0.0.6 March 5 2015
|
|
507
|
+
|
|
508
|
+
- Added the `workbook_define_name()` method to create defined names and ranges
|
|
509
|
+
in a workbook or worksheet.
|
|
510
|
+
|
|
511
|
+
|
|
512
|
+
## 0.0.5 March 6 2015
|
|
513
|
+
|
|
514
|
+
- Added `worksheet_select()` function to set worksheets as selected.
|
|
515
|
+
|
|
516
|
+
- Added `worksheet_activate()` to set the active worksheet.
|
|
517
|
+
|
|
518
|
+
- Several portability fixes to fix warnings with different compilers.
|
|
519
|
+
|
|
520
|
+
|
|
521
|
+
## 0.0.4 March 1 2015
|
|
522
|
+
|
|
523
|
+
- Added `worksheet_set_margins()` function to set top, bottom, left and right
|
|
524
|
+
margins in a worksheet.
|
|
525
|
+
|
|
526
|
+
- Fix for issue where format objects were written to the file in the order of
|
|
527
|
+
creation rather than the order of use. This issue caused incorrect formats
|
|
528
|
+
in cells.
|
|
529
|
+
Issue [#3](https://github.com/jmcnamara/libxlsxwriter/issues/3).
|
|
530
|
+
|
|
531
|
+
- Fix for issue where tmp files in `constant_memory` mode weren't closed
|
|
532
|
+
until application exited.
|
|
533
|
+
Issue [#1](https://github.com/jmcnamara/libxlsxwriter/issues/1).
|
|
534
|
+
|
|
535
|
+
|
|
536
|
+
## 0.0.3 January 7 2015
|
|
537
|
+
|
|
538
|
+
- Added worksheet page setup methods.
|
|
539
|
+
|
|
540
|
+
- `worksheet_set_landscape()`
|
|
541
|
+
- `worksheet_set_portrait()`
|
|
542
|
+
- `worksheet_set_page_view()`
|
|
543
|
+
- `worksheet_set_paper()`
|
|
544
|
+
- `worksheet_print_across()`
|
|
545
|
+
|
|
546
|
+
|
|
547
|
+
## 0.0.2 June 26 2014
|
|
548
|
+
|
|
549
|
+
- First public release.
|
|
550
|
+
|
|
551
|
+
|
|
552
|
+
## 0.0.1 June 8 2014
|
|
553
|
+
|
|
554
|
+
- First GitHub release.
|
|
555
|
+
|
|
556
|
+
|
|
557
|
+
*/
|