write_xlsx 1.09.1 → 1.09.4

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: cc4fb820c659853dbdd8596b1f61f667641b69dbc5c404f81d19acf514f2d905
4
- data.tar.gz: 7ff1ff5c651b23c8e9883e23421065e778e6c8ba109f23d46ff1886a33a6852b
3
+ metadata.gz: f5d16e1b446663bfe7c01e2d2fcf66d7150d08b51b9256e3bdfe531ed855e83b
4
+ data.tar.gz: 136aa05affaba6706517f4a0e69f8db0a960a235105f82232c9de5c168964009
5
5
  SHA512:
6
- metadata.gz: 9461389a984b4826addf2dc69c1760cc92b07d456118be8835a982601587eaec02628016e413b496c5a7db5fc59c4c246962afc286707b3371eab06e5c7fbe4a
7
- data.tar.gz: a9bdd5e0191277a5097f2f2e0634a0c745a7223c81a1f6116769d8b2a93c5ab67aa10e61e19eb3860d7740f5f90bcf1045066c591f10bb62009d6b0916888df9
6
+ metadata.gz: eaed0ee8d0590a733194bce357731c6c6883885074552be5d4a1f8b4ecbe0eb24c7718ad4c7afac89cd42389c19dcfc1093525fb264e530d6b0063cec9e91eb5
7
+ data.tar.gz: 5d0f0e15102d3064256d30274040211a8c4b8877c6551ed6a2a415ffca944071bb7f3c14728db6fb2b3496de93410a6109104ef5a67ff2b02b28744819ccd86e
data/.travis.yml CHANGED
@@ -1,9 +1,18 @@
1
1
  language: ruby
2
2
  rvm:
3
+ - 3.0.3
4
+ - 3.0.2
5
+ - 3.0.1
3
6
  - 3.0.0
7
+ - 2.7.5
8
+ - 2.7.4
9
+ - 2.7.3
4
10
  - 2.7.2
5
11
  - 2.7.1
6
12
  - 2.7.0
13
+ - 2.6.9
14
+ - 2.6.8
15
+ - 2.6.7
7
16
  - 2.6.6
8
17
  - 2.6.5
9
18
  - 2.6.4
@@ -11,6 +20,7 @@ rvm:
11
20
  - 2.6.2
12
21
  - 2.6.1
13
22
  - 2.6.0
23
+ - 2.5.9
14
24
  - 2.5.8
15
25
  - 2.5.7
16
26
  - 2.5.6
data/Changes CHANGED
@@ -1,7 +1,19 @@
1
1
  Change history of write_xlsx rubygem.
2
2
 
3
+ 2022-09-02 v1.09.4
4
+ Remove zip-zip dependency.
5
+
6
+ Fix: Object#=~ is called on Integer; it always returns nil
7
+
8
+ 2022-07-08 v1.09.3
9
+ Fixed issue #47. Dealing with NAN
10
+
11
+ 2022-02-14 v1.09.2
12
+ Fixed issue #79. Worksheet#write calls the write_number
13
+ when multi-line string has a line with only numbers.
14
+
3
15
  2021-11-27 v1.09.1
4
- Added Worksheet#kee_leading_zeros method to handle '001' as string in
16
+ Added Worksheet#keep_leading_zeros method to handle '001' as string in
5
17
  Worksheet#write, write_row, and write_col method.
6
18
 
7
19
  2021-11-26 v1.09.0
@@ -251,7 +263,7 @@ Change history of write_xlsx rubygem.
251
263
  Fix work well in ms windows.
252
264
 
253
265
  2018-04-29 v0.85.5
254
- Added option to store hyperlink strings as string (strings_as_urls: false).
266
+ Added option to store hyperlink strings as string (strings_to_urls: false).
255
267
 
256
268
  2018-04-29 v0.85.4
257
269
  Added option to store hyperlink strings as string (urls_as_strings).
data/LICENSE.txt CHANGED
@@ -1,4 +1,4 @@
1
- Copyright (c) 2012-2021 Hideo NAKAMURA
1
+ Copyright (c) 2012-2022 Hideo NAKAMURA
2
2
 
3
3
  MIT License
4
4
 
data/README.md CHANGED
@@ -85,7 +85,7 @@ the first worksheet in an Excel XML spreadsheet called ruby.xlsx:
85
85
  Original Perl module was written by John McNamara(jmcnamara@cpan.org).
86
86
 
87
87
  Converted to ruby by Hideo NAKAMURA(nakamrua.hideo@gmail.com)
88
- Copyright (c) 2012-2021 Hideo NAKAMURA.
88
+ Copyright (c) 2012-2022 Hideo NAKAMURA.
89
89
 
90
90
  See LICENSE.txt for further details.
91
91
 
data/bin/extract_vba.rb CHANGED
@@ -1,7 +1,7 @@
1
1
  #!/usr/bin/env ruby
2
2
  # -*- encoding: utf-8 -*-
3
3
 
4
- require 'zip/zipfilesystem'
4
+ require 'zip/filesystem'
5
5
  require 'fileutils'
6
6
 
7
7
  # src zip filename
@@ -9,7 +9,7 @@ require 'fileutils'
9
9
  # options :fs_encoding=[UTF-8,Shift_JIS,EUC-JP]
10
10
  def extract_vba_project(src, dest, options = {})
11
11
  FileUtils.makedirs(dest)
12
- Zip::ZipInputStream.open(src) do |is|
12
+ Zip::InputStream.open(src) do |is|
13
13
  loop do
14
14
  entry = is.get_next_entry()
15
15
  break if entry.nil?()
@@ -347,7 +347,7 @@ module Writexlsx
347
347
  property = label.dup
348
348
 
349
349
  # Convert formula.
350
- if property[:value] && property[:value] =~ /^=[^!]+!\$/
350
+ if property[:value] && property[:value].to_s =~ /^=[^!]+!\$/
351
351
  property[:formula] = property[:value]
352
352
  end
353
353
 
@@ -1 +1 @@
1
- WriteXLSX_VERSION = "1.09.1"
1
+ WriteXLSX_VERSION = "1.09.4"
@@ -902,7 +902,7 @@ module Writexlsx
902
902
  # Match integer with leading zero(s)
903
903
  elsif @leading_zeros && token =~ /^0\d*$/
904
904
  write_string(*args)
905
- elsif token =~ /^\d+$/
905
+ elsif token =~ /\A([+-]?)(?=\d|\.\d)\d*(\.\d*)?([Ee]([+-]?\d+))?\Z/
906
906
  write_number(*args)
907
907
  # Match formula
908
908
  elsif token =~ /^=/
@@ -2044,6 +2044,8 @@ module Writexlsx
2044
2044
  # Write the cell value <v> element.
2045
2045
  #
2046
2046
  def write_cell_value(value = '') #:nodoc:
2047
+ return write_cell_formula('=NA()') if !value.nil? && value.is_a?(Float) && value.nan?
2048
+
2047
2049
  value ||= ''
2048
2050
  value = value.to_i if value == value.to_i
2049
2051
  @writer.data_element('v', value)
@@ -3543,7 +3545,7 @@ EOS
3543
3545
  # Write the <filters> element.
3544
3546
  #
3545
3547
  def write_filters(*filters) #:nodoc:
3546
- non_blanks = filters.reject { |filter| filter =~ /^blanks$/i }
3548
+ non_blanks = filters.reject { |filter| filter.to_s =~ /^blanks$/i }
3547
3549
  attributes = []
3548
3550
 
3549
3551
  if filters != non_blanks
@@ -3,7 +3,7 @@
3
3
  # from http://d.hatena.ne.jp/alunko/20071021
4
4
  #
5
5
  require 'kconv'
6
- require 'zip/zipfilesystem'
6
+ require 'zip/filesystem'
7
7
  require 'fileutils'
8
8
 
9
9
  module ZipFileUtils
@@ -15,7 +15,7 @@ module ZipFileUtils
15
15
  src = File.expand_path(src)
16
16
  dest = File.expand_path(dest)
17
17
  File.unlink(dest) if File.exist?(dest)
18
- Zip::ZipFile.open(dest, Zip::ZipFile::CREATE) {|zf|
18
+ Zip::File.open(dest, Zip::File::CREATE) {|zf|
19
19
  if(File.file?(src))
20
20
  zf.add(encode_path(File.basename(src), options[:fs_encoding]), src)
21
21
  break
@@ -37,7 +37,7 @@ module ZipFileUtils
37
37
  # options :fs_encoding=[UTF-8,Shift_JIS,EUC-JP]
38
38
  def self.unzip(src, dest, options = {})
39
39
  FileUtils.makedirs(dest)
40
- Zip::ZipInputStream.open(src) do |is|
40
+ Zip::InputStream.open(src) do |is|
41
41
  loop do
42
42
  entry = is.get_next_entry()
43
43
  break unless entry
data/test/helper.rb CHANGED
@@ -77,7 +77,7 @@ class Minitest::Test
77
77
 
78
78
  def entrys(xlsx)
79
79
  result = []
80
- Zip::ZipFile.foreach(xlsx) { |entry| result << entry }
80
+ Zip::File.foreach(xlsx) { |entry| result << entry }
81
81
  result
82
82
  end
83
83
 
Binary file
@@ -11,6 +11,18 @@ class TestExampleMatch < Minitest::Test
11
11
  @tempfile.close
12
12
  end
13
13
 
14
+ def test_multi_line
15
+ @xlsx = 'multi_line.xlsx'
16
+ workbook = WriteXLSX.new(@io)
17
+ worksheet = workbook.add_worksheet
18
+
19
+ worksheet.write(0, 0, "Hi Excel!\n1234\nHi, again!")
20
+
21
+ workbook.close
22
+ store_to_tempfile
23
+ compare_xlsx(File.join(@perl_output, @xlsx), @tempfile.path)
24
+ end
25
+
14
26
  def test_a_simple
15
27
  @xlsx = 'a_simple.xlsx'
16
28
  # Create a new workbook called simple.xls and add a worksheet
data/write_xlsx.gemspec CHANGED
@@ -18,7 +18,6 @@ Gem::Specification.new do |gem|
18
18
  gem.test_files = gem.files.grep(%r{^(test|spec|features)/})
19
19
  gem.require_paths = ["lib"]
20
20
  gem.add_runtime_dependency 'rubyzip', '>= 1.0.0'
21
- gem.add_runtime_dependency 'zip-zip'
22
21
  gem.add_development_dependency 'minitest'
23
22
  gem.add_development_dependency 'byebug'
24
23
  gem.add_development_dependency 'rake'
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: write_xlsx
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.09.1
4
+ version: 1.09.4
5
5
  platform: ruby
6
6
  authors:
7
7
  - Hideo NAKAMURA
8
- autorequire:
8
+ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2021-11-27 00:00:00.000000000 Z
11
+ date: 2022-09-02 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rubyzip
@@ -24,20 +24,6 @@ dependencies:
24
24
  - - ">="
25
25
  - !ruby/object:Gem::Version
26
26
  version: 1.0.0
27
- - !ruby/object:Gem::Dependency
28
- name: zip-zip
29
- requirement: !ruby/object:Gem::Requirement
30
- requirements:
31
- - - ">="
32
- - !ruby/object:Gem::Version
33
- version: '0'
34
- type: :runtime
35
- prerelease: false
36
- version_requirements: !ruby/object:Gem::Requirement
37
- requirements:
38
- - - ">="
39
- - !ruby/object:Gem::Version
40
- version: '0'
41
27
  - !ruby/object:Gem::Dependency
42
28
  name: minitest
43
29
  requirement: !ruby/object:Gem::Requirement
@@ -175,7 +161,6 @@ files:
175
161
  - examples/tables.rb
176
162
  - examples/update_range_format_with_params.rb
177
163
  - examples/vbaProject.bin
178
- - keep_leading_zeros.xlsx
179
164
  - lib/write_xlsx.rb
180
165
  - lib/write_xlsx/chart.rb
181
166
  - lib/write_xlsx/chart/area.rb
@@ -379,6 +364,7 @@ files:
379
364
  - test/perl_output/merge4.xlsx
380
365
  - test/perl_output/merge5.xlsx
381
366
  - test/perl_output/merge6.xlsx
367
+ - test/perl_output/multi_line.xlsx
382
368
  - test/perl_output/outline.xlsx
383
369
  - test/perl_output/outline_collapsed.xlsx
384
370
  - test/perl_output/panes.xlsx
@@ -2166,7 +2152,7 @@ homepage: https://github.com/cxn03651/write_xlsx#readme
2166
2152
  licenses:
2167
2153
  - MIT
2168
2154
  metadata: {}
2169
- post_install_message:
2155
+ post_install_message:
2170
2156
  rdoc_options: []
2171
2157
  require_paths:
2172
2158
  - lib
@@ -2181,8 +2167,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
2181
2167
  - !ruby/object:Gem::Version
2182
2168
  version: '0'
2183
2169
  requirements: []
2184
- rubygems_version: 3.1.6
2185
- signing_key:
2170
+ rubygems_version: 3.3.7
2171
+ signing_key:
2186
2172
  specification_version: 4
2187
2173
  summary: write_xlsx is a gem to create a new file in the Excel 2007+ XLSX format.
2188
2174
  test_files:
@@ -2338,6 +2324,7 @@ test_files:
2338
2324
  - test/perl_output/merge4.xlsx
2339
2325
  - test/perl_output/merge5.xlsx
2340
2326
  - test/perl_output/merge6.xlsx
2327
+ - test/perl_output/multi_line.xlsx
2341
2328
  - test/perl_output/outline.xlsx
2342
2329
  - test/perl_output/outline_collapsed.xlsx
2343
2330
  - test/perl_output/panes.xlsx
Binary file