fast_excel 0.2.2 → 0.4.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.
Files changed (100) hide show
  1. checksums.yaml +5 -5
  2. data/.dockerignore +2 -0
  3. data/.gitignore +7 -0
  4. data/.travis.yml +32 -9
  5. data/CHANGELOG.md +36 -1
  6. data/Dockerfile.test +17 -0
  7. data/Gemfile +2 -1
  8. data/Gemfile.lock +33 -24
  9. data/LICENSE +21 -0
  10. data/Makefile +13 -0
  11. data/README.md +177 -40
  12. data/Rakefile +11 -1
  13. data/benchmarks/1k_rows.rb +17 -4
  14. data/benchmarks/20k_rows.rb +4 -0
  15. data/benchmarks/auto_width.rb +37 -0
  16. data/benchmarks/init.rb +14 -2
  17. data/benchmarks/memory.rb +8 -0
  18. data/benchmarks/profiler.rb +27 -0
  19. data/benchmarks/write_value.rb +62 -0
  20. data/examples/example.rb +3 -3
  21. data/examples/example_auto_width.rb +26 -0
  22. data/examples/example_filters.rb +36 -0
  23. data/examples/example_formula.rb +1 -3
  24. data/examples/example_hyperlink.rb +20 -0
  25. data/ext/fast_excel/extconf.rb +3 -0
  26. data/ext/fast_excel/text_width_ext.c +460 -0
  27. data/fast_excel.gemspec +3 -4
  28. data/letters.html +114 -0
  29. data/lib/fast_excel.rb +131 -25
  30. data/lib/fast_excel/binding.rb +33 -21
  31. data/lib/fast_excel/binding/chart.rb +20 -1
  32. data/lib/fast_excel/binding/format.rb +11 -4
  33. data/lib/fast_excel/binding/workbook.rb +10 -2
  34. data/lib/fast_excel/binding/worksheet.rb +44 -27
  35. data/libxlsxwriter/.gitignore +1 -0
  36. data/libxlsxwriter/.indent.pro +8 -0
  37. data/libxlsxwriter/.travis.yml +12 -0
  38. data/libxlsxwriter/CMakeLists.txt +338 -0
  39. data/libxlsxwriter/CONTRIBUTING.md +1 -1
  40. data/libxlsxwriter/Changes.txt +162 -0
  41. data/libxlsxwriter/LICENSE.txt +65 -4
  42. data/libxlsxwriter/Makefile +33 -11
  43. data/libxlsxwriter/Readme.md +3 -1
  44. data/libxlsxwriter/cocoapods/libxlsxwriter-umbrella.h +2 -1
  45. data/libxlsxwriter/cocoapods/libxlsxwriter.modulemap +2 -2
  46. data/libxlsxwriter/include/xlsxwriter.h +2 -2
  47. data/libxlsxwriter/include/xlsxwriter/app.h +2 -2
  48. data/libxlsxwriter/include/xlsxwriter/chart.h +164 -13
  49. data/libxlsxwriter/include/xlsxwriter/chartsheet.h +544 -0
  50. data/libxlsxwriter/include/xlsxwriter/common.h +35 -6
  51. data/libxlsxwriter/include/xlsxwriter/content_types.h +5 -2
  52. data/libxlsxwriter/include/xlsxwriter/core.h +2 -2
  53. data/libxlsxwriter/include/xlsxwriter/custom.h +2 -2
  54. data/libxlsxwriter/include/xlsxwriter/drawing.h +3 -2
  55. data/libxlsxwriter/include/xlsxwriter/format.h +8 -8
  56. data/libxlsxwriter/include/xlsxwriter/hash_table.h +1 -1
  57. data/libxlsxwriter/include/xlsxwriter/packager.h +18 -8
  58. data/libxlsxwriter/include/xlsxwriter/relationships.h +2 -2
  59. data/libxlsxwriter/include/xlsxwriter/shared_strings.h +5 -3
  60. data/libxlsxwriter/include/xlsxwriter/styles.h +10 -5
  61. data/libxlsxwriter/include/xlsxwriter/theme.h +2 -2
  62. data/libxlsxwriter/include/xlsxwriter/utility.h +35 -5
  63. data/libxlsxwriter/include/xlsxwriter/workbook.h +234 -57
  64. data/libxlsxwriter/include/xlsxwriter/worksheet.h +780 -91
  65. data/libxlsxwriter/include/xlsxwriter/xmlwriter.h +4 -2
  66. data/libxlsxwriter/libxlsxwriter.podspec +4 -2
  67. data/libxlsxwriter/src/Makefile +31 -6
  68. data/libxlsxwriter/src/app.c +2 -2
  69. data/libxlsxwriter/src/chart.c +116 -23
  70. data/libxlsxwriter/src/chartsheet.c +508 -0
  71. data/libxlsxwriter/src/content_types.c +12 -4
  72. data/libxlsxwriter/src/core.c +11 -11
  73. data/libxlsxwriter/src/custom.c +3 -3
  74. data/libxlsxwriter/src/drawing.c +114 -17
  75. data/libxlsxwriter/src/format.c +5 -5
  76. data/libxlsxwriter/src/hash_table.c +1 -1
  77. data/libxlsxwriter/src/packager.c +378 -61
  78. data/libxlsxwriter/src/relationships.c +2 -2
  79. data/libxlsxwriter/src/shared_strings.c +18 -4
  80. data/libxlsxwriter/src/styles.c +59 -12
  81. data/libxlsxwriter/src/theme.c +2 -2
  82. data/libxlsxwriter/src/utility.c +93 -6
  83. data/libxlsxwriter/src/workbook.c +379 -61
  84. data/libxlsxwriter/src/worksheet.c +1240 -174
  85. data/libxlsxwriter/src/xmlwriter.c +18 -9
  86. data/libxlsxwriter/third_party/minizip/Makefile +6 -1
  87. data/libxlsxwriter/third_party/minizip/ioapi.c +10 -0
  88. data/libxlsxwriter/third_party/minizip/zip.c +2 -0
  89. data/libxlsxwriter/third_party/tmpfileplus/tmpfileplus.c +2 -2
  90. data/libxlsxwriter/version.txt +1 -1
  91. data/test/auto_width_test.rb +19 -0
  92. data/test/date_test.rb +34 -0
  93. data/test/format_test.rb +8 -0
  94. data/test/reopen_test.rb +22 -0
  95. data/test/test_helper.rb +8 -5
  96. data/test/text_width_test.rb +80 -0
  97. data/test/tmpfile_test.rb +1 -0
  98. data/test/validations_test.rb +47 -0
  99. data/test/worksheet_test.rb +44 -1
  100. metadata +33 -9
@@ -79,8 +79,51 @@ describe "FastExcel::WorksheetExt append_row" do
79
79
  @workbook = FastExcel.open(constant_memory: true)
80
80
  @worksheet = @workbook.add_worksheet
81
81
 
82
- @worksheet.append_row([BigDecimal.new("0.1234")])
82
+ @worksheet.append_row([BigDecimal("0.1234")])
83
83
 
84
84
  assert_equal([[0.1234]], get_arrays(@workbook))
85
85
  end
86
+
87
+ it "should set name correctly" do
88
+ workbook = FastExcel.open(constant_memory: true)
89
+ ws1 = workbook.add_worksheet("foo")
90
+ ws2 = workbook.add_worksheet("")
91
+
92
+ assert_equal("foo", ws1[:name])
93
+ assert_equal("", ws2[:name])
94
+ end
95
+
96
+ it "should map fields correctly" do
97
+ workbook = FastExcel.open(constant_memory: true)
98
+
99
+ ws = workbook.add_worksheet
100
+ ws.set_right_to_left
101
+ assert_equal(ws[:right_to_left], 1)
102
+
103
+ ws = workbook.add_worksheet
104
+ ws.center_vertically
105
+ assert_equal(ws[:print_options_changed], 1)
106
+ assert_equal(ws[:vcenter], 1)
107
+
108
+ ws = workbook.add_worksheet
109
+ ws.print_row_col_headers
110
+ assert_equal(ws[:print_headers], 1)
111
+ assert_equal(ws[:print_options_changed], 1)
112
+
113
+ ws = workbook.add_worksheet
114
+ ws.set_margins(1.5, 2.5, 3.5, 4.5)
115
+ assert_equal(ws[:margin_left], 1.5)
116
+ assert_equal(ws[:margin_right], 2.5)
117
+ assert_equal(ws[:margin_top], 3.5)
118
+ assert_equal(ws[:margin_bottom], 4.5)
119
+
120
+
121
+ breaks = [20, 40, 60, 20, 0]
122
+ FFI::MemoryPointer.new(:uint16, breaks.size) do |buffer|
123
+ buffer.write_array_of_uint16(breaks)
124
+ ws.set_v_pagebreaks(buffer)
125
+ end
126
+
127
+ assert_equal(ws[:vbreaks_count], 4)
128
+ end
86
129
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: fast_excel
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.2
4
+ version: 0.4.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Pavel Evstigneev
8
- autorequire:
8
+ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2017-09-19 00:00:00.000000000 Z
11
+ date: 2021-02-14 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: ffi
@@ -38,29 +38,41 @@ extensions:
38
38
  - extconf.rb
39
39
  extra_rdoc_files: []
40
40
  files:
41
+ - ".dockerignore"
41
42
  - ".gitignore"
42
43
  - ".travis.yml"
43
44
  - CHANGELOG.md
45
+ - Dockerfile.test
44
46
  - Gemfile
45
47
  - Gemfile.lock
48
+ - LICENSE
46
49
  - Makefile
47
50
  - README.md
48
51
  - Rakefile
49
52
  - appveyor.yml
50
53
  - benchmarks/1k_rows.rb
51
54
  - benchmarks/20k_rows.rb
55
+ - benchmarks/auto_width.rb
52
56
  - benchmarks/init.rb
53
57
  - benchmarks/memory.rb
58
+ - benchmarks/profiler.rb
59
+ - benchmarks/write_value.rb
54
60
  - examples/example.rb
55
61
  - examples/example_align.rb
62
+ - examples/example_auto_width.rb
56
63
  - examples/example_chart.rb
57
64
  - examples/example_colors.rb
65
+ - examples/example_filters.rb
58
66
  - examples/example_formula.rb
67
+ - examples/example_hyperlink.rb
59
68
  - examples/example_image.rb
60
69
  - examples/example_styles.rb
61
70
  - examples/logo.png
71
+ - ext/fast_excel/extconf.rb
72
+ - ext/fast_excel/text_width_ext.c
62
73
  - extconf.rb
63
74
  - fast_excel.gemspec
75
+ - letters.html
64
76
  - lib/fast_excel.rb
65
77
  - lib/fast_excel/binding.rb
66
78
  - lib/fast_excel/binding/chart.rb
@@ -70,16 +82,21 @@ files:
70
82
  - libxlsxwriter/.gitignore
71
83
  - libxlsxwriter/.indent.pro
72
84
  - libxlsxwriter/.travis.yml
85
+ - libxlsxwriter/CMakeLists.txt
73
86
  - libxlsxwriter/CONTRIBUTING.md
74
87
  - libxlsxwriter/Changes.txt
75
88
  - libxlsxwriter/LICENSE.txt
76
89
  - libxlsxwriter/Makefile
77
90
  - libxlsxwriter/Readme.md
91
+ - libxlsxwriter/cmake/FindMINIZIP.cmake
92
+ - libxlsxwriter/cmake/FindPackage.cmake
93
+ - libxlsxwriter/cmake/i686-toolchain.cmake
78
94
  - libxlsxwriter/cocoapods/libxlsxwriter-umbrella.h
79
95
  - libxlsxwriter/cocoapods/libxlsxwriter.modulemap
80
96
  - libxlsxwriter/include/xlsxwriter.h
81
97
  - libxlsxwriter/include/xlsxwriter/app.h
82
98
  - libxlsxwriter/include/xlsxwriter/chart.h
99
+ - libxlsxwriter/include/xlsxwriter/chartsheet.h
83
100
  - libxlsxwriter/include/xlsxwriter/common.h
84
101
  - libxlsxwriter/include/xlsxwriter/content_types.h
85
102
  - libxlsxwriter/include/xlsxwriter/core.h
@@ -106,6 +123,7 @@ files:
106
123
  - libxlsxwriter/src/Makefile
107
124
  - libxlsxwriter/src/app.c
108
125
  - libxlsxwriter/src/chart.c
126
+ - libxlsxwriter/src/chartsheet.c
109
127
  - libxlsxwriter/src/content_types.c
110
128
  - libxlsxwriter/src/core.c
111
129
  - libxlsxwriter/src/custom.c
@@ -149,34 +167,40 @@ files:
149
167
  - libxlsxwriter/third_party/tmpfileplus/tmpfileplus.c
150
168
  - libxlsxwriter/third_party/tmpfileplus/tmpfileplus.h
151
169
  - libxlsxwriter/version.txt
170
+ - test/auto_width_test.rb
152
171
  - test/date_test.rb
153
172
  - test/default_format_test.rb
154
173
  - test/format_test.rb
174
+ - test/reopen_test.rb
155
175
  - test/test_helper.rb
176
+ - test/text_width_test.rb
156
177
  - test/tmpfile_test.rb
178
+ - test/validations_test.rb
157
179
  - test/worksheet_test.rb
158
180
  homepage: https://github.com/paxa/fast_excel
159
181
  licenses:
160
182
  - MIT
161
183
  metadata: {}
162
- post_install_message:
184
+ post_install_message:
163
185
  rdoc_options: []
164
186
  require_paths:
165
187
  - lib
166
188
  required_ruby_version: !ruby/object:Gem::Requirement
167
189
  requirements:
168
- - - "~>"
190
+ - - ">="
169
191
  - !ruby/object:Gem::Version
170
192
  version: '2.0'
193
+ - - "<"
194
+ - !ruby/object:Gem::Version
195
+ version: '4.0'
171
196
  required_rubygems_version: !ruby/object:Gem::Requirement
172
197
  requirements:
173
198
  - - ">="
174
199
  - !ruby/object:Gem::Version
175
200
  version: '0'
176
201
  requirements: []
177
- rubyforge_project:
178
- rubygems_version: 2.6.8
179
- signing_key:
202
+ rubygems_version: 3.1.2
203
+ signing_key:
180
204
  specification_version: 4
181
- summary: Ultra Fast Excel Writter
205
+ summary: Ultra Fast Excel Writer
182
206
  test_files: []