xlsxwriter 0.0.6 → 0.1.0
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 +4 -4
- data/Rakefile +9 -3
- data/ext/xlsxwriter/extconf.rb +2 -2
- data/ext/xlsxwriter/libxlsxwriter/License.txt +1 -1
- data/ext/xlsxwriter/libxlsxwriter/Makefile +4 -2
- data/ext/xlsxwriter/libxlsxwriter/include/xlsxwriter.h +2 -2
- data/ext/xlsxwriter/libxlsxwriter/include/xlsxwriter/app.h +2 -2
- data/ext/xlsxwriter/libxlsxwriter/include/xlsxwriter/chart.h +1 -1
- data/ext/xlsxwriter/libxlsxwriter/include/xlsxwriter/chartsheet.h +2 -2
- data/ext/xlsxwriter/libxlsxwriter/include/xlsxwriter/common.h +2 -2
- data/ext/xlsxwriter/libxlsxwriter/include/xlsxwriter/content_types.h +2 -2
- data/ext/xlsxwriter/libxlsxwriter/include/xlsxwriter/core.h +2 -2
- data/ext/xlsxwriter/libxlsxwriter/include/xlsxwriter/custom.h +2 -2
- data/ext/xlsxwriter/libxlsxwriter/include/xlsxwriter/drawing.h +2 -2
- data/ext/xlsxwriter/libxlsxwriter/include/xlsxwriter/format.h +2 -2
- 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 +2 -2
- data/ext/xlsxwriter/libxlsxwriter/include/xlsxwriter/shared_strings.h +2 -2
- data/ext/xlsxwriter/libxlsxwriter/include/xlsxwriter/styles.h +2 -2
- data/ext/xlsxwriter/libxlsxwriter/include/xlsxwriter/theme.h +2 -2
- data/ext/xlsxwriter/libxlsxwriter/include/xlsxwriter/utility.h +2 -2
- data/ext/xlsxwriter/libxlsxwriter/include/xlsxwriter/workbook.h +1 -1
- data/ext/xlsxwriter/libxlsxwriter/include/xlsxwriter/worksheet.h +1 -1
- data/ext/xlsxwriter/libxlsxwriter/include/xlsxwriter/xmlwriter.h +1 -1
- data/ext/xlsxwriter/libxlsxwriter/src/Makefile +1 -6
- data/ext/xlsxwriter/libxlsxwriter/src/app.c +2 -2
- data/ext/xlsxwriter/libxlsxwriter/src/chart.c +1 -1
- data/ext/xlsxwriter/libxlsxwriter/src/chartsheet.c +1 -1
- data/ext/xlsxwriter/libxlsxwriter/src/content_types.c +2 -2
- data/ext/xlsxwriter/libxlsxwriter/src/core.c +2 -2
- data/ext/xlsxwriter/libxlsxwriter/src/custom.c +2 -2
- data/ext/xlsxwriter/libxlsxwriter/src/drawing.c +2 -2
- data/ext/xlsxwriter/libxlsxwriter/src/format.c +2 -2
- data/ext/xlsxwriter/libxlsxwriter/src/hash_table.c +1 -1
- data/ext/xlsxwriter/libxlsxwriter/src/packager.c +1 -1
- data/ext/xlsxwriter/libxlsxwriter/src/relationships.c +2 -2
- data/ext/xlsxwriter/libxlsxwriter/src/shared_strings.c +2 -2
- data/ext/xlsxwriter/libxlsxwriter/src/styles.c +2 -2
- data/ext/xlsxwriter/libxlsxwriter/src/theme.c +2 -2
- data/ext/xlsxwriter/libxlsxwriter/src/utility.c +1 -1
- data/ext/xlsxwriter/libxlsxwriter/src/workbook.c +1 -1
- data/ext/xlsxwriter/libxlsxwriter/src/worksheet.c +1 -1
- data/ext/xlsxwriter/libxlsxwriter/src/xmlwriter.c +1 -1
- data/ext/xlsxwriter/libxlsxwriter/third_party/minizip/Makefile +0 -5
- data/ext/xlsxwriter/workbook.c +3 -1
- data/ext/xlsxwriter/xlsxwriter.c +4 -1
- data/lib/xlsxwriter.rb +2 -0
- data/lib/xlsxwriter/version.rb +3 -1
- data/lib/xlsxwriter/worksheet.rb +3 -1
- data/test/run-test.rb +4 -0
- data/test/support/xlsx_comparable.rb +4 -2
- data/test/test-array-formula.rb +2 -0
- data/test/test-autofilter.rb +2 -0
- data/test/test-chart-area.rb +2 -0
- data/test/test-chart-axis.rb +2 -0
- data/test/test-chart-bar.rb +2 -0
- data/test/test-chart-column.rb +2 -0
- data/test/test-chart-doughnut.rb +2 -0
- data/test/test-chart-pie.rb +2 -0
- data/test/test-chart-scatter.rb +2 -0
- data/test/test-chart-size.rb +2 -0
- data/test/test-chart-title.rb +2 -0
- data/test/test-data.rb +2 -0
- data/test/test-default-row.rb +2 -0
- data/test/test-defined-name.rb +2 -0
- data/test/test-errors.rb +2 -0
- data/test/test-escapes.rb +2 -0
- data/test/test-fit-to-pages.rb +2 -0
- data/test/test-formatting.rb +2 -0
- data/test/test-gridlines.rb +2 -0
- data/test/test-hyperlink.rb +2 -0
- data/test/test-image.rb +2 -0
- data/test/test-merge-range.rb +2 -0
- data/test/test-misc.rb +2 -0
- data/test/test-optimize.rb +2 -0
- data/test/test-page-breaks.rb +2 -0
- data/test/test-page-setup.rb +2 -0
- data/test/test-panes.rb +2 -0
- data/test/test-print-area.rb +2 -0
- data/test/test-print-options.rb +2 -0
- data/test/test-print-scale.rb +2 -0
- data/test/test-properties.rb +2 -0
- data/test/test-protect.rb +2 -0
- data/test/test-repeat.rb +2 -0
- data/test/test-row-col-format.rb +2 -0
- data/test/test-set-selection.rb +2 -0
- data/test/test-set-start-page.rb +2 -0
- data/test/test-simple.rb +2 -0
- data/test/test-types.rb +2 -0
- data/test/xlsx-func-testcase.rb +2 -0
- metadata +2 -2
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 87c37e7b981c1632bac997c8d660435d17a8240863fbb0878b682b5ebd2a6f1b
|
|
4
|
+
data.tar.gz: 1dbfe32328dd2a7a4728982061539fed19b78cd8408ffbeda18e1021cc2b1dbe
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: f7931484a9239a3cfea028e212d79fa51f67cadcc377d5c7f06337f408add6446a3b988b5018510d2a92a33062525bf2294b992a385843755d9307581810c89b
|
|
7
|
+
data.tar.gz: 3ff9f83786a755d0ce8c5a02418da3931f0f7a9d8fe808594b7ee2bba42eedbe77d09ca691f20f0db8f96e5f8d049a1fd0c0041278436aac07c79bbad932caf1
|
data/Rakefile
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
1
2
|
require 'rake/extensiontask'
|
|
2
3
|
|
|
3
4
|
task default: :test
|
|
@@ -15,10 +16,15 @@ DEP_DIR='ext/xlsxwriter/libxlsxwriter'
|
|
|
15
16
|
|
|
16
17
|
desc "Checkout xlsxwriter C library"
|
|
17
18
|
task :patch_dep do
|
|
18
|
-
|
|
19
|
+
patches = Dir["#{pwd}/dep_patches/*.patch"]
|
|
20
|
+
chdir(DEP_DIR) do
|
|
21
|
+
if Dir.exist?('.git')
|
|
22
|
+
sh 'git reset --hard'
|
|
19
23
|
|
|
20
|
-
|
|
21
|
-
|
|
24
|
+
patches.each do |patch|
|
|
25
|
+
sh "patch -N -p1 <#{patch}"
|
|
26
|
+
end
|
|
27
|
+
end
|
|
22
28
|
end
|
|
23
29
|
end
|
|
24
30
|
|
data/ext/xlsxwriter/extconf.rb
CHANGED
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
require 'mkmf'
|
|
2
2
|
|
|
3
3
|
libxlsxwriter_dir = File.expand_path('../libxlsxwriter', __FILE__)
|
|
4
|
-
make_pid = spawn({'CFLAGS' => '-fPIC'}, $make, chdir: libxlsxwriter_dir)
|
|
4
|
+
make_pid = spawn({'CFLAGS' => '-fPIC -O2'}, $make, chdir: libxlsxwriter_dir)
|
|
5
5
|
Process.wait(make_pid)
|
|
6
6
|
raise 'Make failed for xlsxwriter' unless $? == 0
|
|
7
7
|
|
|
8
8
|
# enable_config('static', true)
|
|
9
9
|
# find_library('xlsxwriter', 'workbook_new', File.expand_path('../libxlsxwriter/lib', __FILE__))
|
|
10
|
-
$CFLAGS="-I'#{libxlsxwriter_dir}/include' -g -Wall -std=c99"
|
|
10
|
+
$CFLAGS="-I'#{libxlsxwriter_dir}/include' -g -Wall -std=c99 -O2"
|
|
11
11
|
# $LDFLAGS="-L./libxlsxwriter/lib/ -Wl,-Bstatic -lxlsxwriter -Wl,-Bdynamic"
|
|
12
12
|
$LDFLAGS="-lz #{libxlsxwriter_dir}/lib/libxlsxwriter.a"
|
|
13
13
|
|
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
|
|
5
5
|
Libxlsxwriter is released under a FreeBSD license:
|
|
6
6
|
|
|
7
|
-
Copyright 2014-
|
|
7
|
+
Copyright 2014-2019, 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
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
#
|
|
3
3
|
# Makefile for libxlsxwriter library.
|
|
4
4
|
#
|
|
5
|
-
# Copyright 2014-
|
|
5
|
+
# Copyright 2014-2019, John McNamara, jmcnamara@cpan.org
|
|
6
6
|
#
|
|
7
7
|
|
|
8
8
|
# Keep the output quiet by default.
|
|
@@ -13,6 +13,8 @@ endif
|
|
|
13
13
|
|
|
14
14
|
INSTALL_DIR ?= /usr/local
|
|
15
15
|
|
|
16
|
+
PYTEST ?= py.test
|
|
17
|
+
|
|
16
18
|
.PHONY: docs tags examples
|
|
17
19
|
|
|
18
20
|
# Build the libs.
|
|
@@ -58,7 +60,7 @@ test_const : all
|
|
|
58
60
|
# Run the functional tests.
|
|
59
61
|
test_functional : all
|
|
60
62
|
$(Q)$(MAKE) -C test/functional/src
|
|
61
|
-
$(Q)
|
|
63
|
+
$(Q)$(PYTEST) test/functional -v
|
|
62
64
|
|
|
63
65
|
# Run all tests.
|
|
64
66
|
test_unit :
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/*
|
|
2
2
|
* libxlsxwriter
|
|
3
3
|
*
|
|
4
|
-
* Copyright 2014-
|
|
4
|
+
* Copyright 2014-2019, 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.8.
|
|
21
|
+
#define LXW_VERSION "0.8.5"
|
|
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-2019, John McNamara, jmcnamara@cpan.org. See LICENSE.txt.
|
|
5
5
|
*
|
|
6
6
|
* app - A libxlsxwriter library for creating Excel XLSX app files.
|
|
7
7
|
*
|
|
@@ -56,7 +56,7 @@ extern "C" {
|
|
|
56
56
|
#endif
|
|
57
57
|
/* *INDENT-ON* */
|
|
58
58
|
|
|
59
|
-
lxw_app *lxw_app_new();
|
|
59
|
+
lxw_app *lxw_app_new(void);
|
|
60
60
|
void lxw_app_free(lxw_app *app);
|
|
61
61
|
void lxw_app_assemble_xml_file(lxw_app *self);
|
|
62
62
|
void lxw_app_add_part_name(lxw_app *self, const char *name);
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/*
|
|
2
2
|
* libxlsxwriter
|
|
3
3
|
*
|
|
4
|
-
* Copyright 2014-
|
|
4
|
+
* Copyright 2014-2019, John McNamara, jmcnamara@cpan.org. See LICENSE.txt.
|
|
5
5
|
*
|
|
6
6
|
* chartsheet - A libxlsxwriter library for creating Excel XLSX chartsheet files.
|
|
7
7
|
*
|
|
@@ -524,7 +524,7 @@ lxw_error chartsheet_set_footer_opt(lxw_chartsheet *chartsheet,
|
|
|
524
524
|
const char *string,
|
|
525
525
|
lxw_header_footer_options *options);
|
|
526
526
|
|
|
527
|
-
lxw_chartsheet *lxw_chartsheet_new();
|
|
527
|
+
lxw_chartsheet *lxw_chartsheet_new(lxw_worksheet_init_data *init_data);
|
|
528
528
|
void lxw_chartsheet_free(lxw_chartsheet *chartsheet);
|
|
529
529
|
void lxw_chartsheet_assemble_xml_file(lxw_chartsheet *chartsheet);
|
|
530
530
|
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/*
|
|
2
2
|
* libxlsxwriter
|
|
3
3
|
*
|
|
4
|
-
* Copyright 2014-
|
|
4
|
+
* Copyright 2014-2019, 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-2019, John McNamara, jmcnamara@cpan.org -->
|
|
13
13
|
*
|
|
14
14
|
*/
|
|
15
15
|
#ifndef __LXW_COMMON_H__
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/*
|
|
2
2
|
* libxlsxwriter
|
|
3
3
|
*
|
|
4
|
-
* Copyright 2014-
|
|
4
|
+
* Copyright 2014-2019, 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.
|
|
@@ -37,7 +37,7 @@ extern "C" {
|
|
|
37
37
|
#endif
|
|
38
38
|
/* *INDENT-ON* */
|
|
39
39
|
|
|
40
|
-
lxw_content_types *lxw_content_types_new();
|
|
40
|
+
lxw_content_types *lxw_content_types_new(void);
|
|
41
41
|
void lxw_content_types_free(lxw_content_types *content_types);
|
|
42
42
|
void lxw_content_types_assemble_xml_file(lxw_content_types *content_types);
|
|
43
43
|
void lxw_ct_add_default(lxw_content_types *content_types, const char *key,
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/*
|
|
2
2
|
* libxlsxwriter
|
|
3
3
|
*
|
|
4
|
-
* Copyright 2014-
|
|
4
|
+
* Copyright 2014-2019, John McNamara, jmcnamara@cpan.org. See LICENSE.txt.
|
|
5
5
|
*
|
|
6
6
|
* core - A libxlsxwriter library for creating Excel XLSX core files.
|
|
7
7
|
*
|
|
@@ -31,7 +31,7 @@ extern "C" {
|
|
|
31
31
|
#endif
|
|
32
32
|
/* *INDENT-ON* */
|
|
33
33
|
|
|
34
|
-
lxw_core *lxw_core_new();
|
|
34
|
+
lxw_core *lxw_core_new(void);
|
|
35
35
|
void lxw_core_free(lxw_core *core);
|
|
36
36
|
void lxw_core_assemble_xml_file(lxw_core *self);
|
|
37
37
|
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/*
|
|
2
2
|
* libxlsxwriter
|
|
3
3
|
*
|
|
4
|
-
* Copyright 2014-
|
|
4
|
+
* Copyright 2014-2019, John McNamara, jmcnamara@cpan.org. See LICENSE.txt.
|
|
5
5
|
*
|
|
6
6
|
* custom - A libxlsxwriter library for creating Excel custom property files.
|
|
7
7
|
*
|
|
@@ -32,7 +32,7 @@ extern "C" {
|
|
|
32
32
|
#endif
|
|
33
33
|
/* *INDENT-ON* */
|
|
34
34
|
|
|
35
|
-
lxw_custom *lxw_custom_new();
|
|
35
|
+
lxw_custom *lxw_custom_new(void);
|
|
36
36
|
void lxw_custom_free(lxw_custom *custom);
|
|
37
37
|
void lxw_custom_assemble_xml_file(lxw_custom *self);
|
|
38
38
|
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/*
|
|
2
2
|
* libxlsxwriter
|
|
3
3
|
*
|
|
4
|
-
* Copyright 2014-
|
|
4
|
+
* Copyright 2014-2019, John McNamara, jmcnamara@cpan.org. See LICENSE.txt.
|
|
5
5
|
*
|
|
6
6
|
* drawing - A libxlsxwriter library for creating Excel XLSX drawing files.
|
|
7
7
|
*
|
|
@@ -90,7 +90,7 @@ extern "C" {
|
|
|
90
90
|
#endif
|
|
91
91
|
/* *INDENT-ON* */
|
|
92
92
|
|
|
93
|
-
lxw_drawing *lxw_drawing_new();
|
|
93
|
+
lxw_drawing *lxw_drawing_new(void);
|
|
94
94
|
void lxw_drawing_free(lxw_drawing *drawing);
|
|
95
95
|
void lxw_drawing_assemble_xml_file(lxw_drawing *self);
|
|
96
96
|
void lxw_free_drawing_object(struct lxw_drawing_object *drawing_object);
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/*
|
|
2
2
|
* libxlsxwriter
|
|
3
3
|
*
|
|
4
|
-
* Copyright 2014-
|
|
4
|
+
* Copyright 2014-2019, John McNamara, jmcnamara@cpan.org. See LICENSE.txt.
|
|
5
5
|
*/
|
|
6
6
|
|
|
7
7
|
/**
|
|
@@ -480,7 +480,7 @@ extern "C" {
|
|
|
480
480
|
#endif
|
|
481
481
|
/* *INDENT-ON* */
|
|
482
482
|
|
|
483
|
-
lxw_format *lxw_format_new();
|
|
483
|
+
lxw_format *lxw_format_new(void);
|
|
484
484
|
void lxw_format_free(lxw_format *format);
|
|
485
485
|
int32_t lxw_format_get_xf_index(lxw_format *format);
|
|
486
486
|
lxw_font *lxw_format_get_font_key(lxw_format *format);
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/*
|
|
2
2
|
* libxlsxwriter
|
|
3
3
|
*
|
|
4
|
-
* Copyright 2014-
|
|
4
|
+
* Copyright 2014-2019, John McNamara, jmcnamara@cpan.org. See LICENSE.txt.
|
|
5
5
|
*
|
|
6
6
|
* relationships - A libxlsxwriter library for creating Excel XLSX
|
|
7
7
|
* relationships files.
|
|
@@ -47,7 +47,7 @@ extern "C" {
|
|
|
47
47
|
#endif
|
|
48
48
|
/* *INDENT-ON* */
|
|
49
49
|
|
|
50
|
-
lxw_relationships *lxw_relationships_new();
|
|
50
|
+
lxw_relationships *lxw_relationships_new(void);
|
|
51
51
|
void lxw_free_relationships(lxw_relationships *relationships);
|
|
52
52
|
void lxw_relationships_assemble_xml_file(lxw_relationships *self);
|
|
53
53
|
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/*
|
|
2
2
|
* libxlsxwriter
|
|
3
3
|
*
|
|
4
|
-
* Copyright 2014-
|
|
4
|
+
* Copyright 2014-2019, 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.
|
|
@@ -63,7 +63,7 @@ extern "C" {
|
|
|
63
63
|
#endif
|
|
64
64
|
/* *INDENT-ON* */
|
|
65
65
|
|
|
66
|
-
lxw_sst *lxw_sst_new();
|
|
66
|
+
lxw_sst *lxw_sst_new(void);
|
|
67
67
|
void lxw_sst_free(lxw_sst *sst);
|
|
68
68
|
struct sst_element *lxw_get_sst_index(lxw_sst *sst, const char *string,
|
|
69
69
|
uint8_t is_rich_string);
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/*
|
|
2
2
|
* libxlsxwriter
|
|
3
3
|
*
|
|
4
|
-
* Copyright 2014-
|
|
4
|
+
* Copyright 2014-2019, John McNamara, jmcnamara@cpan.org. See LICENSE.txt.
|
|
5
5
|
*
|
|
6
6
|
* styles - A libxlsxwriter library for creating Excel XLSX styles files.
|
|
7
7
|
*
|
|
@@ -38,7 +38,7 @@ extern "C" {
|
|
|
38
38
|
#endif
|
|
39
39
|
/* *INDENT-ON* */
|
|
40
40
|
|
|
41
|
-
lxw_styles *lxw_styles_new();
|
|
41
|
+
lxw_styles *lxw_styles_new(void);
|
|
42
42
|
void lxw_styles_free(lxw_styles *styles);
|
|
43
43
|
void lxw_styles_assemble_xml_file(lxw_styles *self);
|
|
44
44
|
void lxw_styles_write_string_fragment(lxw_styles *self, char *string);
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/*
|
|
2
2
|
* libxlsxwriter
|
|
3
3
|
*
|
|
4
|
-
* Copyright 2014-
|
|
4
|
+
* Copyright 2014-2019, John McNamara, jmcnamara@cpan.org. See LICENSE.txt.
|
|
5
5
|
*
|
|
6
6
|
* theme - A libxlsxwriter library for creating Excel XLSX theme files.
|
|
7
7
|
*
|
|
@@ -28,7 +28,7 @@ extern "C" {
|
|
|
28
28
|
#endif
|
|
29
29
|
/* *INDENT-ON* */
|
|
30
30
|
|
|
31
|
-
lxw_theme *lxw_theme_new();
|
|
31
|
+
lxw_theme *lxw_theme_new(void);
|
|
32
32
|
void lxw_theme_free(lxw_theme *theme);
|
|
33
33
|
void lxw_theme_xml_declaration(lxw_theme *self);
|
|
34
34
|
void lxw_theme_assemble_xml_file(lxw_theme *self);
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/*
|
|
2
2
|
* libxlsxwriter
|
|
3
3
|
*
|
|
4
|
-
* Copyright 2014-
|
|
4
|
+
* Copyright 2014-2019, 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-2019, John McNamara, jmcnamara@cpan.org -->
|
|
13
13
|
*
|
|
14
14
|
*/
|
|
15
15
|
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
#
|
|
3
3
|
# Makefile for libxlsxwriter library.
|
|
4
4
|
#
|
|
5
|
-
# Copyright 2014-
|
|
5
|
+
# Copyright 2014-2019, John McNamara, jmcnamara@cpan.org
|
|
6
6
|
#
|
|
7
7
|
|
|
8
8
|
# Keep the output quiet by default.
|
|
@@ -51,11 +51,6 @@ endif
|
|
|
51
51
|
# Flags passed to compiler.
|
|
52
52
|
CFLAGS += -g -O3 -Wall -Wextra -pedantic -ansi
|
|
53
53
|
|
|
54
|
-
# Fix for modified zconf.h on Gentoo.
|
|
55
|
-
ifneq (,$(findstring gentoo, $(shell uname -sr)))
|
|
56
|
-
CFLAGS += -DOF=_Z_OF
|
|
57
|
-
endif
|
|
58
|
-
|
|
59
54
|
|
|
60
55
|
# Ignore icc remarks about inlining limits.
|
|
61
56
|
ifeq ($(CC),icc)
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
*
|
|
4
4
|
* Used in conjunction with the libxlsxwriter library.
|
|
5
5
|
*
|
|
6
|
-
* Copyright 2014-
|
|
6
|
+
* Copyright 2014-2019, John McNamara, jmcnamara@cpan.org. See LICENSE.txt.
|
|
7
7
|
*
|
|
8
8
|
*/
|
|
9
9
|
|
|
@@ -25,7 +25,7 @@
|
|
|
25
25
|
* Create a new app object.
|
|
26
26
|
*/
|
|
27
27
|
lxw_app *
|
|
28
|
-
lxw_app_new()
|
|
28
|
+
lxw_app_new(void)
|
|
29
29
|
{
|
|
30
30
|
lxw_app *app = calloc(1, sizeof(lxw_app));
|
|
31
31
|
GOTO_LABEL_ON_MEM_ERROR(app, mem_error);
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
*
|
|
4
4
|
* Used in conjunction with the libxlsxwriter library.
|
|
5
5
|
*
|
|
6
|
-
* Copyright 2014-
|
|
6
|
+
* Copyright 2014-2019, John McNamara, jmcnamara@cpan.org. See LICENSE.txt.
|
|
7
7
|
*
|
|
8
8
|
*/
|
|
9
9
|
|
|
@@ -25,7 +25,7 @@
|
|
|
25
25
|
* Create a new content_types object.
|
|
26
26
|
*/
|
|
27
27
|
lxw_content_types *
|
|
28
|
-
lxw_content_types_new()
|
|
28
|
+
lxw_content_types_new(void)
|
|
29
29
|
{
|
|
30
30
|
lxw_content_types *content_types = calloc(1, sizeof(lxw_content_types));
|
|
31
31
|
GOTO_LABEL_ON_MEM_ERROR(content_types, mem_error);
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
*
|
|
4
4
|
* Used in conjunction with the libxlsxwriter library.
|
|
5
5
|
*
|
|
6
|
-
* Copyright 2014-
|
|
6
|
+
* Copyright 2014-2019, John McNamara, jmcnamara@cpan.org. See LICENSE.txt.
|
|
7
7
|
*
|
|
8
8
|
*/
|
|
9
9
|
|
|
@@ -25,7 +25,7 @@
|
|
|
25
25
|
* Create a new core object.
|
|
26
26
|
*/
|
|
27
27
|
lxw_core *
|
|
28
|
-
lxw_core_new()
|
|
28
|
+
lxw_core_new(void)
|
|
29
29
|
{
|
|
30
30
|
lxw_core *core = calloc(1, sizeof(lxw_core));
|
|
31
31
|
GOTO_LABEL_ON_MEM_ERROR(core, mem_error);
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
*
|
|
4
4
|
* Used in conjunction with the libxlsxwriter library.
|
|
5
5
|
*
|
|
6
|
-
* Copyright 2014-
|
|
6
|
+
* Copyright 2014-2019, John McNamara, jmcnamara@cpan.org. See LICENSE.txt.
|
|
7
7
|
*
|
|
8
8
|
*/
|
|
9
9
|
|
|
@@ -25,7 +25,7 @@
|
|
|
25
25
|
* Create a new custom object.
|
|
26
26
|
*/
|
|
27
27
|
lxw_custom *
|
|
28
|
-
lxw_custom_new()
|
|
28
|
+
lxw_custom_new(void)
|
|
29
29
|
{
|
|
30
30
|
lxw_custom *custom = calloc(1, sizeof(lxw_custom));
|
|
31
31
|
GOTO_LABEL_ON_MEM_ERROR(custom, mem_error);
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
*
|
|
4
4
|
* Used in conjunction with the libxlsxwriter library.
|
|
5
5
|
*
|
|
6
|
-
* Copyright 2014-
|
|
6
|
+
* Copyright 2014-2019, John McNamara, jmcnamara@cpan.org. See LICENSE.txt.
|
|
7
7
|
*
|
|
8
8
|
*/
|
|
9
9
|
|
|
@@ -27,7 +27,7 @@
|
|
|
27
27
|
* Create a new drawing collection.
|
|
28
28
|
*/
|
|
29
29
|
lxw_drawing *
|
|
30
|
-
lxw_drawing_new()
|
|
30
|
+
lxw_drawing_new(void)
|
|
31
31
|
{
|
|
32
32
|
lxw_drawing *drawing = calloc(1, sizeof(lxw_drawing));
|
|
33
33
|
GOTO_LABEL_ON_MEM_ERROR(drawing, mem_error);
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
*
|
|
4
4
|
* Used in conjunction with the libxlsxwriter library.
|
|
5
5
|
*
|
|
6
|
-
* Copyright 2014-
|
|
6
|
+
* Copyright 2014-2019, John McNamara, jmcnamara@cpan.org. See LICENSE.txt.
|
|
7
7
|
*
|
|
8
8
|
*/
|
|
9
9
|
|
|
@@ -21,7 +21,7 @@
|
|
|
21
21
|
* Create a new format object.
|
|
22
22
|
*/
|
|
23
23
|
lxw_format *
|
|
24
|
-
lxw_format_new()
|
|
24
|
+
lxw_format_new(void)
|
|
25
25
|
{
|
|
26
26
|
lxw_format *format = calloc(1, sizeof(lxw_format));
|
|
27
27
|
GOTO_LABEL_ON_MEM_ERROR(format, mem_error);
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
*
|
|
4
4
|
* Used in conjunction with the libxlsxwriter library.
|
|
5
5
|
*
|
|
6
|
-
* Copyright 2014-
|
|
6
|
+
* Copyright 2014-2019, John McNamara, jmcnamara@cpan.org. See LICENSE.txt.
|
|
7
7
|
*
|
|
8
8
|
*/
|
|
9
9
|
|
|
@@ -26,7 +26,7 @@
|
|
|
26
26
|
* Create a new relationships object.
|
|
27
27
|
*/
|
|
28
28
|
lxw_relationships *
|
|
29
|
-
lxw_relationships_new()
|
|
29
|
+
lxw_relationships_new(void)
|
|
30
30
|
{
|
|
31
31
|
lxw_relationships *rels = calloc(1, sizeof(lxw_relationships));
|
|
32
32
|
GOTO_LABEL_ON_MEM_ERROR(rels, mem_error);
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
*
|
|
4
4
|
* Used in conjunction with the libxlsxwriter library.
|
|
5
5
|
*
|
|
6
|
-
* Copyright 2014-
|
|
6
|
+
* Copyright 2014-2019, John McNamara, jmcnamara@cpan.org. See LICENSE.txt.
|
|
7
7
|
*
|
|
8
8
|
*/
|
|
9
9
|
|
|
@@ -34,7 +34,7 @@ LXW_RB_GENERATE_ELEMENT(sst_rb_tree, sst_element, sst_tree_pointers,
|
|
|
34
34
|
* Create a new SST SharedString object.
|
|
35
35
|
*/
|
|
36
36
|
lxw_sst *
|
|
37
|
-
lxw_sst_new()
|
|
37
|
+
lxw_sst_new(void)
|
|
38
38
|
{
|
|
39
39
|
/* Create the new shared string table. */
|
|
40
40
|
lxw_sst *sst = calloc(1, sizeof(lxw_sst));
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
*
|
|
4
4
|
* Used in conjunction with the libxlsxwriter library.
|
|
5
5
|
*
|
|
6
|
-
* Copyright 2014-
|
|
6
|
+
* Copyright 2014-2019, John McNamara, jmcnamara@cpan.org. See LICENSE.txt.
|
|
7
7
|
*
|
|
8
8
|
*/
|
|
9
9
|
|
|
@@ -27,7 +27,7 @@ STATIC void _write_font(lxw_styles *self, lxw_format *format,
|
|
|
27
27
|
* Create a new styles object.
|
|
28
28
|
*/
|
|
29
29
|
lxw_styles *
|
|
30
|
-
lxw_styles_new()
|
|
30
|
+
lxw_styles_new(void)
|
|
31
31
|
{
|
|
32
32
|
lxw_styles *styles = calloc(1, sizeof(lxw_styles));
|
|
33
33
|
GOTO_LABEL_ON_MEM_ERROR(styles, mem_error);
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
*
|
|
4
4
|
* Used in conjunction with the libxlsxwriter library.
|
|
5
5
|
*
|
|
6
|
-
* Copyright 2014-
|
|
6
|
+
* Copyright 2014-2019, John McNamara, jmcnamara@cpan.org. See LICENSE.txt.
|
|
7
7
|
*
|
|
8
8
|
*/
|
|
9
9
|
|
|
@@ -289,7 +289,7 @@ const char *theme_strs[] = {
|
|
|
289
289
|
* Create a new theme object.
|
|
290
290
|
*/
|
|
291
291
|
lxw_theme *
|
|
292
|
-
lxw_theme_new()
|
|
292
|
+
lxw_theme_new(void)
|
|
293
293
|
{
|
|
294
294
|
lxw_theme *theme = calloc(1, sizeof(lxw_theme));
|
|
295
295
|
GOTO_LABEL_ON_MEM_ERROR(theme, mem_error);
|
data/ext/xlsxwriter/workbook.c
CHANGED
|
@@ -1,4 +1,6 @@
|
|
|
1
1
|
#include <string.h>
|
|
2
|
+
#include <ruby.h>
|
|
3
|
+
#include <ruby/thread.h>
|
|
2
4
|
#include "xlsxwriter.h"
|
|
3
5
|
#include "chart.h"
|
|
4
6
|
#include "format.h"
|
|
@@ -119,7 +121,7 @@ workbook_free(void *p) {
|
|
|
119
121
|
if (ptr->properties) {
|
|
120
122
|
workbook_set_properties(ptr->workbook, ptr->properties);
|
|
121
123
|
}
|
|
122
|
-
workbook_close
|
|
124
|
+
rb_thread_call_without_gvl((void *(*)(void *)) workbook_close, ptr->workbook, RUBY_UBF_IO, NULL);
|
|
123
125
|
ptr->workbook = NULL;
|
|
124
126
|
}
|
|
125
127
|
if (ptr->path) {
|
data/ext/xlsxwriter/xlsxwriter.c
CHANGED
|
@@ -7,6 +7,7 @@
|
|
|
7
7
|
#include "worksheet.h"
|
|
8
8
|
|
|
9
9
|
VALUE mXlsxWriter;
|
|
10
|
+
VALUE rbLibVersion;
|
|
10
11
|
|
|
11
12
|
/* Document-module: XlsxWriter
|
|
12
13
|
*
|
|
@@ -16,7 +17,7 @@ VALUE mXlsxWriter;
|
|
|
16
17
|
* ranges as both numbers, cell strings and range strings.
|
|
17
18
|
*
|
|
18
19
|
* It also has column authowidth functionality partially taken from Axlsx gem
|
|
19
|
-
*
|
|
20
|
+
* enabled by default.
|
|
20
21
|
*
|
|
21
22
|
* Simple example of using the XlsxWriter to generate an xlsx file containing
|
|
22
23
|
* 'Hello' string in the first rows of column 'A':
|
|
@@ -29,6 +30,8 @@ VALUE mXlsxWriter;
|
|
|
29
30
|
*/
|
|
30
31
|
void Init_xlsxwriter() {
|
|
31
32
|
mXlsxWriter = rb_define_module("XlsxWriter");
|
|
33
|
+
rbLibVersion = rb_str_new_cstr(lxw_version());
|
|
34
|
+
rb_define_const(mXlsxWriter, "LIBRARY_VERSION", rbLibVersion);
|
|
32
35
|
|
|
33
36
|
init_xlsxwriter_workbook();
|
|
34
37
|
init_xlsxwriter_workbook_properties();
|
data/lib/xlsxwriter.rb
CHANGED
data/lib/xlsxwriter/version.rb
CHANGED
data/lib/xlsxwriter/worksheet.rb
CHANGED
|
@@ -1,8 +1,10 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
1
3
|
class XlsxWriter::Worksheet
|
|
2
4
|
# Last row number written with #add_row
|
|
3
5
|
attr_reader :current_row
|
|
4
6
|
|
|
5
|
-
# Thiner characters list used for column width logic
|
|
7
|
+
# Thiner characters list used for column width logic mimicking axlsx behaviour
|
|
6
8
|
THIN_CHARS = '^.acfijklrstxzFIJL()-'.freeze
|
|
7
9
|
|
|
8
10
|
# Write a +row+. If no +types+ passed XlsxWriter tries to deduce them automatically.
|
data/test/run-test.rb
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
#!/usr/bin/env ruby
|
|
2
|
+
# frozen_string_literal: true
|
|
2
3
|
|
|
3
4
|
base_dir = File.expand_path(File.join(File.dirname(__FILE__), ".."))
|
|
4
5
|
lib_dir = File.join(base_dir, "lib")
|
|
@@ -7,5 +8,8 @@ test_dir = File.join(base_dir, "test")
|
|
|
7
8
|
$LOAD_PATH.unshift(lib_dir)
|
|
8
9
|
|
|
9
10
|
require 'test/unit'
|
|
11
|
+
require 'xlsxwriter'
|
|
12
|
+
|
|
13
|
+
puts "XlsxWriter version #{XlsxWriter::VERSION} with libxlsxwriter #{XlsxWriter::LIBRARY_VERSION}"
|
|
10
14
|
|
|
11
15
|
exit Test::Unit::AutoRunner.run(true, test_dir)
|
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
1
3
|
require 'test/unit'
|
|
2
4
|
require 'zip'
|
|
3
5
|
|
|
@@ -67,7 +69,7 @@ module XlsxComparable
|
|
|
67
69
|
private
|
|
68
70
|
|
|
69
71
|
def _xml_to_list(xml_str)
|
|
70
|
-
|
|
72
|
+
xml_str.strip.split(/>\s*</).each do |el|
|
|
71
73
|
el.gsub!("\r", '')
|
|
72
74
|
el.insert 0, '<' unless el[0] == '<'
|
|
73
75
|
el << '>' unless el[-1] == '>'
|
|
@@ -78,7 +80,7 @@ module XlsxComparable
|
|
|
78
80
|
vml_str.gsub!("\r", '')
|
|
79
81
|
|
|
80
82
|
vml = vml_str.split("\n")
|
|
81
|
-
vml_str =
|
|
83
|
+
vml_str = String.new.tap do |vml_str|
|
|
82
84
|
vml.each do |line|
|
|
83
85
|
line.strip!
|
|
84
86
|
next if line == ''
|
data/test/test-array-formula.rb
CHANGED
data/test/test-autofilter.rb
CHANGED
data/test/test-chart-area.rb
CHANGED
data/test/test-chart-axis.rb
CHANGED
data/test/test-chart-bar.rb
CHANGED
data/test/test-chart-column.rb
CHANGED
data/test/test-chart-doughnut.rb
CHANGED
data/test/test-chart-pie.rb
CHANGED
data/test/test-chart-scatter.rb
CHANGED
data/test/test-chart-size.rb
CHANGED
data/test/test-chart-title.rb
CHANGED
data/test/test-data.rb
CHANGED
data/test/test-default-row.rb
CHANGED
data/test/test-defined-name.rb
CHANGED
data/test/test-errors.rb
CHANGED
data/test/test-escapes.rb
CHANGED
data/test/test-fit-to-pages.rb
CHANGED
data/test/test-formatting.rb
CHANGED
data/test/test-gridlines.rb
CHANGED
data/test/test-hyperlink.rb
CHANGED
data/test/test-image.rb
CHANGED
data/test/test-merge-range.rb
CHANGED
data/test/test-misc.rb
CHANGED
data/test/test-optimize.rb
CHANGED
data/test/test-page-breaks.rb
CHANGED
data/test/test-page-setup.rb
CHANGED
data/test/test-panes.rb
CHANGED
data/test/test-print-area.rb
CHANGED
data/test/test-print-options.rb
CHANGED
data/test/test-print-scale.rb
CHANGED
data/test/test-properties.rb
CHANGED
data/test/test-protect.rb
CHANGED
data/test/test-repeat.rb
CHANGED
data/test/test-row-col-format.rb
CHANGED
data/test/test-set-selection.rb
CHANGED
data/test/test-set-start-page.rb
CHANGED
data/test/test-simple.rb
CHANGED
data/test/test-types.rb
CHANGED
data/test/xlsx-func-testcase.rb
CHANGED
metadata
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: xlsxwriter
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 0.0
|
|
4
|
+
version: 0.1.0
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Nick H
|
|
8
8
|
autorequire:
|
|
9
9
|
bindir: bin
|
|
10
10
|
cert_chain: []
|
|
11
|
-
date: 2019-
|
|
11
|
+
date: 2019-02-19 00:00:00.000000000 Z
|
|
12
12
|
dependencies:
|
|
13
13
|
- !ruby/object:Gem::Dependency
|
|
14
14
|
name: rake-compiler
|