write_xlsx 1.09.1 → 1.09.4

Sign up to get free protection for your applications and to get access to all the features.
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