fast_excel 0.6.0 → 0.6.1
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/.github/workflows/test.yml +1 -1
- data/CHANGELOG.md +3 -1
- data/Rakefile +4 -1
- data/fast_excel.gemspec +1 -1
- data/lib/fast_excel/binding/workbook.rb +9 -0
- data/lib/fast_excel/binding/worksheet.rb +2 -2
- data/lib/fast_excel/binding.rb +16 -13
- data/libxlsxwriter/.cirrus.yml +9 -0
- data/libxlsxwriter/.github/workflows/cmake_actions.yml +10 -6
- data/libxlsxwriter/.github/workflows/code_style.yml +2 -0
- data/libxlsxwriter/.github/workflows/make_32_actions.yml +43 -0
- data/libxlsxwriter/.github/workflows/windows_build.yml +7 -6
- data/libxlsxwriter/.github/workflows/zig_build.yml +1 -3
- data/libxlsxwriter/.gitignore +9 -7
- data/libxlsxwriter/.indent.pro +6 -0
- data/libxlsxwriter/CMakeLists.txt +377 -238
- data/libxlsxwriter/Changes.txt +189 -0
- data/libxlsxwriter/LICENSE.txt +1 -1
- data/libxlsxwriter/Makefile +36 -4
- data/libxlsxwriter/Readme.md +1 -1
- data/libxlsxwriter/build.zig +181 -92
- data/libxlsxwriter/build.zig.zon +15 -4
- data/libxlsxwriter/cocoapods/libxlsxwriter-umbrella.h +4 -0
- data/libxlsxwriter/include/xlsxwriter/app.h +2 -1
- data/libxlsxwriter/include/xlsxwriter/chart.h +134 -1
- data/libxlsxwriter/include/xlsxwriter/chartsheet.h +2 -1
- data/libxlsxwriter/include/xlsxwriter/comment.h +2 -1
- data/libxlsxwriter/include/xlsxwriter/common.h +12 -8
- data/libxlsxwriter/include/xlsxwriter/content_types.h +3 -1
- data/libxlsxwriter/include/xlsxwriter/core.h +2 -1
- data/libxlsxwriter/include/xlsxwriter/custom.h +2 -1
- data/libxlsxwriter/include/xlsxwriter/drawing.h +2 -1
- data/libxlsxwriter/include/xlsxwriter/format.h +34 -3
- data/libxlsxwriter/include/xlsxwriter/hash_table.h +2 -1
- data/libxlsxwriter/include/xlsxwriter/metadata.h +5 -1
- data/libxlsxwriter/include/xlsxwriter/packager.h +6 -1
- data/libxlsxwriter/include/xlsxwriter/relationships.h +3 -1
- data/libxlsxwriter/include/xlsxwriter/rich_value.h +51 -0
- data/libxlsxwriter/include/xlsxwriter/rich_value_rel.h +50 -0
- data/libxlsxwriter/include/xlsxwriter/rich_value_structure.h +53 -0
- data/libxlsxwriter/include/xlsxwriter/rich_value_types.h +49 -0
- data/libxlsxwriter/include/xlsxwriter/shared_strings.h +2 -1
- data/libxlsxwriter/include/xlsxwriter/styles.h +2 -1
- data/libxlsxwriter/include/xlsxwriter/table.h +2 -1
- data/libxlsxwriter/include/xlsxwriter/theme.h +2 -1
- data/libxlsxwriter/include/xlsxwriter/third_party/ioapi.h +4 -4
- data/libxlsxwriter/include/xlsxwriter/third_party/zip.h +3 -3
- data/libxlsxwriter/include/xlsxwriter/utility.h +58 -7
- data/libxlsxwriter/include/xlsxwriter/vml.h +2 -1
- data/libxlsxwriter/include/xlsxwriter/workbook.h +59 -2
- data/libxlsxwriter/include/xlsxwriter/worksheet.h +159 -13
- data/libxlsxwriter/include/xlsxwriter/xmlwriter.h +11 -10
- data/libxlsxwriter/include/xlsxwriter.h +5 -4
- data/libxlsxwriter/libxlsxwriter.podspec +6 -6
- data/libxlsxwriter/src/Makefile +2 -1
- data/libxlsxwriter/src/app.c +2 -1
- data/libxlsxwriter/src/chart.c +360 -63
- data/libxlsxwriter/src/chartsheet.c +2 -1
- data/libxlsxwriter/src/comment.c +2 -1
- data/libxlsxwriter/src/content_types.c +22 -1
- data/libxlsxwriter/src/core.c +2 -1
- data/libxlsxwriter/src/custom.c +2 -1
- data/libxlsxwriter/src/drawing.c +7 -3
- data/libxlsxwriter/src/format.c +21 -1
- data/libxlsxwriter/src/hash_table.c +2 -1
- data/libxlsxwriter/src/metadata.c +176 -20
- data/libxlsxwriter/src/packager.c +306 -6
- data/libxlsxwriter/src/relationships.c +25 -1
- data/libxlsxwriter/src/rich_value.c +191 -0
- data/libxlsxwriter/src/rich_value_rel.c +142 -0
- data/libxlsxwriter/src/rich_value_structure.c +162 -0
- data/libxlsxwriter/src/rich_value_types.c +199 -0
- data/libxlsxwriter/src/shared_strings.c +2 -1
- data/libxlsxwriter/src/styles.c +31 -7
- data/libxlsxwriter/src/table.c +2 -1
- data/libxlsxwriter/src/theme.c +2 -1
- data/libxlsxwriter/src/utility.c +136 -46
- data/libxlsxwriter/src/vml.c +2 -1
- data/libxlsxwriter/src/workbook.c +191 -10
- data/libxlsxwriter/src/worksheet.c +514 -34
- data/libxlsxwriter/src/xmlwriter.c +17 -22
- data/libxlsxwriter/third_party/minizip/Makefile.orig +1 -1
- data/libxlsxwriter/third_party/minizip/configure.ac +1 -1
- data/libxlsxwriter/third_party/minizip/ioapi.h +6 -6
- data/libxlsxwriter/third_party/minizip/miniunz.c +16 -2
- data/libxlsxwriter/third_party/minizip/unzip.c +4 -4
- data/libxlsxwriter/third_party/minizip/unzip.h +1 -1
- data/libxlsxwriter/third_party/minizip/zip.c +5 -5
- data/libxlsxwriter/third_party/minizip/zip.h +3 -3
- data/libxlsxwriter/version.txt +1 -1
- data/test/validations_test.rb +3 -3
- data/test/worksheet_test.rb +10 -2
- metadata +11 -4
- data/libxlsxwriter/cmake/FindMINIZIP.cmake +0 -121
- data/libxlsxwriter/cmake/FindPackage.cmake +0 -183
- data/libxlsxwriter/cmake/i686-toolchain.cmake +0 -7
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 4230ede32a57ecc66b00a96a722d61e52b37c4657ee64a2cbb42222f596113c3
|
|
4
|
+
data.tar.gz: 04d992357aa76f454775d62a2a14e7641e96908b6c56008fd53952dfbc8ca7d4
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: '08f05e65b527700c7b919f5ebd1c63cf6c65229a127ad4d15912021a2c6a5e4b9af09ed183efbbbfcd071d957bc828a72c522da251a81e5014f9b5fbd9666d77'
|
|
7
|
+
data.tar.gz: f45565c465f7f0107079737743a2b822308326fef5a4a5a1dc3ff254547f0d1cf1d11b88ea4099d01f36a442a3a20cb796318e4114be6cf9d3356b726ea06f1d
|
data/.github/workflows/test.yml
CHANGED
data/CHANGELOG.md
CHANGED
|
@@ -1,8 +1,10 @@
|
|
|
1
|
-
#### Version 0.6.
|
|
1
|
+
#### Version 0.6.1 - 19 oct 2026
|
|
2
2
|
|
|
3
3
|
* Fix segfault in `workbook#get_worksheet_by_name` when sheet does not exist (Thanks to @amberstarlight)
|
|
4
4
|
* Add support for `worksheet_write_comment_opt` with styled comments and hash options (Thanks to @ololoshka12345)
|
|
5
5
|
* Respect current environment's temp directory and add `tmpdir:` option to `FastExcel.open` (Thanks to @spyderdfx)
|
|
6
|
+
* Sync latest libxlsxwriter (v1.2.4)
|
|
7
|
+
* Support Ruby 4.0 and add to CI test matrix
|
|
6
8
|
* Add tests for `FastExcel.lxw_time`, `color_to_hex`, and pretty print improvements
|
|
7
9
|
|
|
8
10
|
#### Version 0.5.0 - 02 jan 2024
|
data/Rakefile
CHANGED
|
@@ -19,9 +19,12 @@ end
|
|
|
19
19
|
|
|
20
20
|
desc "Run all examples"
|
|
21
21
|
task :examples do
|
|
22
|
+
require 'fileutils'
|
|
23
|
+
FileUtils.rm_f(Dir.glob('*.xlsx'))
|
|
22
24
|
Dir.glob('examples/**/*.rb').each do |file|
|
|
23
|
-
|
|
25
|
+
load './' + file
|
|
24
26
|
end
|
|
27
|
+
FileUtils.rm_f(Dir.glob('*.xlsx'))
|
|
25
28
|
end
|
|
26
29
|
|
|
27
30
|
desc "Compile libxlsxwriter shared library"
|
data/fast_excel.gemspec
CHANGED
|
@@ -215,6 +215,7 @@ module Libxlsxwriter
|
|
|
215
215
|
:worksheet_names, WorksheetNames.ptr,
|
|
216
216
|
:chartsheet_names, :pointer,
|
|
217
217
|
:image_md5s, :pointer,
|
|
218
|
+
:embedded_image_md5s, :pointer,
|
|
218
219
|
:header_image_md5s, :pointer,
|
|
219
220
|
:background_md5s, :pointer,
|
|
220
221
|
:charts, Charts.ptr,
|
|
@@ -237,6 +238,9 @@ module Libxlsxwriter
|
|
|
237
238
|
:num_format_count, :uint16,
|
|
238
239
|
:drawing_count, :uint16,
|
|
239
240
|
:comment_count, :uint16,
|
|
241
|
+
:num_embedded_images, :uint32,
|
|
242
|
+
:window_width, :uint16,
|
|
243
|
+
:window_height, :uint16,
|
|
240
244
|
|
|
241
245
|
:font_count, :uint16,
|
|
242
246
|
:border_count, :uint16,
|
|
@@ -252,6 +256,9 @@ module Libxlsxwriter
|
|
|
252
256
|
:has_vml, :uchar,
|
|
253
257
|
:has_comments, :uchar,
|
|
254
258
|
:has_metadata, :uchar,
|
|
259
|
+
:has_embedded_images, :uchar,
|
|
260
|
+
:has_dynamic_functions, :uchar,
|
|
261
|
+
:has_embedded_image_descriptions, :uchar,
|
|
255
262
|
|
|
256
263
|
:used_xf_formats, HashTable.ptr,
|
|
257
264
|
:used_dxf_formats, HashTable.ptr,
|
|
@@ -260,6 +267,8 @@ module Libxlsxwriter
|
|
|
260
267
|
:vba_project_signature, :string,
|
|
261
268
|
:vba_codename, :string,
|
|
262
269
|
|
|
270
|
+
:use_1904_epoch, :uchar,
|
|
271
|
+
|
|
263
272
|
:default_url_format, :pointer
|
|
264
273
|
end
|
|
265
274
|
|
|
@@ -709,11 +709,11 @@ module Libxlsxwriter
|
|
|
709
709
|
:comments, TableRows.ptr,
|
|
710
710
|
:array, :pointer,
|
|
711
711
|
:merged_ranges, MergedRanges.ptr,
|
|
712
|
-
|
|
712
|
+
:selections, :pointer,
|
|
713
713
|
:data_validations, :pointer, # TODO add real definition for lxw_data_validations
|
|
714
714
|
:conditional_formats, :pointer,
|
|
715
715
|
:image_props, :pointer,
|
|
716
|
-
:
|
|
716
|
+
:embedded_image_props, :pointer,
|
|
717
717
|
:chart_data, ChartData.ptr,
|
|
718
718
|
:drawing_rel_ids, :pointer,
|
|
719
719
|
:vml_drawing_rel_ids, :pointer,
|
data/lib/fast_excel/binding.rb
CHANGED
|
@@ -330,19 +330,22 @@ module Libxlsxwriter
|
|
|
330
330
|
:error_feature_not_supported, 11,
|
|
331
331
|
:error_null_parameter_ignored, 12,
|
|
332
332
|
:error_parameter_validation, 13,
|
|
333
|
-
:
|
|
334
|
-
:
|
|
335
|
-
:
|
|
336
|
-
:
|
|
337
|
-
:
|
|
338
|
-
:
|
|
339
|
-
:
|
|
340
|
-
:
|
|
341
|
-
:
|
|
342
|
-
:
|
|
343
|
-
:
|
|
344
|
-
:
|
|
345
|
-
:
|
|
333
|
+
:error_parameter_is_empty, 14,
|
|
334
|
+
:error_datetime_validation, 15,
|
|
335
|
+
:error_sheetname_length_exceeded, 16,
|
|
336
|
+
:error_invalid_sheetname_character, 17,
|
|
337
|
+
:error_sheetname_start_end_apostrophe, 18,
|
|
338
|
+
:error_sheetname_already_used, 19,
|
|
339
|
+
:error_32_string_length_exceeded, 20,
|
|
340
|
+
:error_128_string_length_exceeded, 21,
|
|
341
|
+
:error_255_string_length_exceeded, 22,
|
|
342
|
+
:error_max_string_length_exceeded, 23,
|
|
343
|
+
:error_shared_string_index_not_found, 24,
|
|
344
|
+
:error_worksheet_index_out_of_range, 25,
|
|
345
|
+
:error_worksheet_max_url_length_exceeded, 26,
|
|
346
|
+
:error_worksheet_max_number_urls_exceeded, 27,
|
|
347
|
+
:error_image_dimensions, 28,
|
|
348
|
+
:max_errno, 29
|
|
346
349
|
]
|
|
347
350
|
|
|
348
351
|
# = Fields:
|
|
@@ -36,13 +36,17 @@ jobs:
|
|
|
36
36
|
sudo apt-get -y install libssl-dev
|
|
37
37
|
|
|
38
38
|
- name: Configure CMake
|
|
39
|
-
|
|
40
|
-
|
|
39
|
+
run: |
|
|
40
|
+
mkdir build
|
|
41
|
+
cd build
|
|
42
|
+
cmake .. -DBUILD_TESTS=ON ${{ matrix.cmake_flags }} -DCMAKE_BUILD_TYPE=Release
|
|
41
43
|
|
|
42
44
|
- name: Build
|
|
43
|
-
|
|
44
|
-
|
|
45
|
+
run: |
|
|
46
|
+
cd build
|
|
47
|
+
cmake --build . --config Release --parallel
|
|
45
48
|
|
|
46
49
|
- name: Test
|
|
47
|
-
|
|
48
|
-
|
|
50
|
+
run: |
|
|
51
|
+
cd build
|
|
52
|
+
ctest -C Release -V
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
name: Test Make 32bit build
|
|
2
|
+
|
|
3
|
+
on: [push, pull_request]
|
|
4
|
+
|
|
5
|
+
jobs:
|
|
6
|
+
build:
|
|
7
|
+
name:
|
|
8
|
+
Make
|
|
9
|
+
strategy:
|
|
10
|
+
fail-fast: false
|
|
11
|
+
matrix:
|
|
12
|
+
cc: [gcc, clang]
|
|
13
|
+
make_flags: ["CFLAGS=-m32",
|
|
14
|
+
"CFLAGS=-m32 USE_STANDARD_TMPFILE=1",
|
|
15
|
+
"CFLAGS=-m32 USE_DTOA_LIBRARY=1",
|
|
16
|
+
"CFLAGS=-m32 USE_NO_MD5=1",
|
|
17
|
+
"CFLAGS=-m32 USE_MEM_FILE=1"]
|
|
18
|
+
runs-on: ubuntu-latest
|
|
19
|
+
env:
|
|
20
|
+
CC: ${{ matrix.cc }}
|
|
21
|
+
CXX: ${{ matrix.cc }}
|
|
22
|
+
CFLAGS: '-Werror'
|
|
23
|
+
|
|
24
|
+
steps:
|
|
25
|
+
- uses: actions/checkout@v2
|
|
26
|
+
|
|
27
|
+
- name: Install dependencies
|
|
28
|
+
run: |
|
|
29
|
+
python -m pip install --upgrade pip
|
|
30
|
+
pip install pytest
|
|
31
|
+
sudo dpkg --add-architecture i386
|
|
32
|
+
sudo apt update
|
|
33
|
+
sudo apt-get -y install gcc-multilib
|
|
34
|
+
sudo apt-get -y install zlib1g-dev:i386
|
|
35
|
+
|
|
36
|
+
- name: make
|
|
37
|
+
run: ${{ matrix.make_flags }} make V=1
|
|
38
|
+
|
|
39
|
+
- name: test functional
|
|
40
|
+
run: ${{ matrix.make_flags }} make test_functional V=1 -j
|
|
41
|
+
|
|
42
|
+
- name: test examples
|
|
43
|
+
run: ${{ matrix.make_flags }} make examples V=1
|
|
@@ -11,8 +11,8 @@ jobs:
|
|
|
11
11
|
matrix:
|
|
12
12
|
cmake_flags: ["-DBUILD_EXAMPLES=ON -DBUILD_TESTS=ON",
|
|
13
13
|
"-DUSE_DTOA_LIBRARY=ON -DBUILD_TESTS=ON",
|
|
14
|
-
|
|
15
|
-
|
|
14
|
+
"-DUSE_SYSTEM_MINIZIP=ON -DBUILD_TESTS=ON",
|
|
15
|
+
"-DUSE_SYSTEM_MINIZIP=ON -DUSE_OPENSSL_MD5=ON -DBUILD_TESTS=ON",
|
|
16
16
|
"-DUSE_OPENSSL_MD5=ON -DBUILD_TESTS=ON",
|
|
17
17
|
]
|
|
18
18
|
|
|
@@ -33,7 +33,8 @@ jobs:
|
|
|
33
33
|
working-directory: ${{env.GITHUB_WORKSPACE}}
|
|
34
34
|
shell: cmd
|
|
35
35
|
run: |
|
|
36
|
-
|
|
36
|
+
mkdir build
|
|
37
|
+
cd build
|
|
37
38
|
call "C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\VC\Auxiliary\Build\vcvars64.bat"
|
|
38
39
|
cmake .. -DCMAKE_BUILD_TYPE=Release ${{ matrix.cmake_flags }} -DCMAKE_TOOLCHAIN_FILE=C:/vcpkg/scripts/buildsystems/vcpkg.cmake -A x64
|
|
39
40
|
|
|
@@ -41,7 +42,7 @@ jobs:
|
|
|
41
42
|
working-directory: ${{env.GITHUB_WORKSPACE}}
|
|
42
43
|
shell: cmd
|
|
43
44
|
run: |
|
|
44
|
-
cd
|
|
45
|
+
cd build
|
|
45
46
|
call "C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\VC\Auxiliary\Build\vcvars64.bat"
|
|
46
47
|
cmake --build . --config Release
|
|
47
48
|
|
|
@@ -49,6 +50,6 @@ jobs:
|
|
|
49
50
|
working-directory: ${{env.GITHUB_WORKSPACE}}
|
|
50
51
|
shell: cmd
|
|
51
52
|
run: |
|
|
52
|
-
cd
|
|
53
|
-
copy test\functional\src\Release
|
|
53
|
+
cd build
|
|
54
|
+
copy test\functional\src\Release\*.* test\functional\src
|
|
54
55
|
pytest -v test/functional
|
|
@@ -14,9 +14,7 @@ jobs:
|
|
|
14
14
|
with:
|
|
15
15
|
submodules: recursive
|
|
16
16
|
fetch-depth: 0
|
|
17
|
-
- uses:
|
|
18
|
-
with:
|
|
19
|
-
version: 0.11.0
|
|
17
|
+
- uses: mlugg/setup-zig@v2
|
|
20
18
|
|
|
21
19
|
- name: Build Summary
|
|
22
20
|
run: zig build -DBUILD_TESTS -DBUILD_EXAMPLES -DUSE_SYSTEM_MINIZIP --summary all -freference-trace
|
data/libxlsxwriter/.gitignore
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
*.a
|
|
2
2
|
*.o
|
|
3
|
+
*.fo
|
|
3
4
|
*.so
|
|
4
5
|
*.so.*
|
|
5
6
|
*.to
|
|
@@ -9,10 +10,13 @@
|
|
|
9
10
|
*.dll
|
|
10
11
|
*.gcno
|
|
11
12
|
*.gcda
|
|
13
|
+
*.dSYM/
|
|
12
14
|
test_*
|
|
13
15
|
!test_*.c
|
|
14
16
|
!test_*.cpp
|
|
15
17
|
!test_*.py
|
|
18
|
+
test/functional/src/functional_all
|
|
19
|
+
test/functional/src/functional_main.c
|
|
16
20
|
*.tar.gz
|
|
17
21
|
*~
|
|
18
22
|
TAGS
|
|
@@ -54,12 +58,10 @@ third_party/zlib-1.2.8/minigzip
|
|
|
54
58
|
third_party/zlib-1.2.8/minigzipsh
|
|
55
59
|
third_party/zlib-1.2.8/zlib.pc
|
|
56
60
|
|
|
57
|
-
cmake
|
|
58
|
-
!cmake/FindMINIZIP.cmake
|
|
59
|
-
!cmake/FindPackage.cmake
|
|
60
|
-
!cmake/i686-toolchain.cmake
|
|
61
|
-
|
|
62
61
|
.vscode
|
|
63
62
|
|
|
64
|
-
zig-cache/
|
|
65
|
-
zig-out/
|
|
63
|
+
*zig-cache/
|
|
64
|
+
zig-out/
|
|
65
|
+
zig-pkg/
|
|
66
|
+
|
|
67
|
+
.swiftpm/
|
data/libxlsxwriter/.indent.pro
CHANGED
|
@@ -41,6 +41,7 @@
|
|
|
41
41
|
-T SLIST_ENTRY
|
|
42
42
|
-T STAILQ_ENTRY
|
|
43
43
|
-T TAILQ_ENTRY
|
|
44
|
+
-T FILE
|
|
44
45
|
|
|
45
46
|
/* libxlsxwriter typedefs. */
|
|
46
47
|
-T lxw_app
|
|
@@ -69,6 +70,7 @@
|
|
|
69
70
|
-T lxw_chart_gridline
|
|
70
71
|
-T lxw_chart_label_position
|
|
71
72
|
-T lxw_chart_label_separator
|
|
73
|
+
-T lxw_chart_layout
|
|
72
74
|
-T lxw_chart_legend
|
|
73
75
|
-T lxw_chart_legend_position
|
|
74
76
|
-T lxw_chart_line
|
|
@@ -132,6 +134,10 @@
|
|
|
132
134
|
-T lxw_repeat_cols
|
|
133
135
|
-T lxw_repeat_rows
|
|
134
136
|
-T lxw_rich_string_tuple
|
|
137
|
+
-T lxw_rich_value
|
|
138
|
+
-T lxw_rich_value_rel
|
|
139
|
+
-T lxw_rich_value_structure
|
|
140
|
+
-T lxw_rich_value_types
|
|
135
141
|
-T lxw_row
|
|
136
142
|
-T lxw_row_col_options
|
|
137
143
|
-T lxw_row_t
|