write_xlsx 1.09.0 → 1.09.1

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: c6e34fc6f5c19637ceda0a196039c186fea4e0b6959c1d99d6d13260854cf0fd
4
- data.tar.gz: c582b95f3b8e9851015bd8555a8d6b5a1e9d9d9f4cec1e66357ea328963b765e
3
+ metadata.gz: cc4fb820c659853dbdd8596b1f61f667641b69dbc5c404f81d19acf514f2d905
4
+ data.tar.gz: 7ff1ff5c651b23c8e9883e23421065e778e6c8ba109f23d46ff1886a33a6852b
5
5
  SHA512:
6
- metadata.gz: 00a16bb85b40a0e8ca072e1afaac2723f9bd845d28c4ea495c8c9fab0e4bad40c2f2b6cbe2875cdec97fcb8a0ad0a1f53a357c479e838bb873debba49e8de8f5
7
- data.tar.gz: ae74b4e1506d658d770c3667f45043e3f999d10bce0700e48a40c0cfcc1d07ce7d40e4a77e8b51ea7b65dbaecc2b131a9793b124e064c9e5448ee50e5c16808e
6
+ metadata.gz: 9461389a984b4826addf2dc69c1760cc92b07d456118be8835a982601587eaec02628016e413b496c5a7db5fc59c4c246962afc286707b3371eab06e5c7fbe4a
7
+ data.tar.gz: a9bdd5e0191277a5097f2f2e0634a0c745a7223c81a1f6116769d8b2a93c5ab67aa10e61e19eb3860d7740f5f90bcf1045066c591f10bb62009d6b0916888df9
data/Changes CHANGED
@@ -1,5 +1,9 @@
1
1
  Change history of write_xlsx rubygem.
2
2
 
3
+ 2021-11-27 v1.09.1
4
+ Added Worksheet#kee_leading_zeros method to handle '001' as string in
5
+ Worksheet#write, write_row, and write_col method.
6
+
3
7
  2021-11-26 v1.09.0
4
8
 
5
9
  Added support for background images in worksheets. See set_background().
@@ -0,0 +1,17 @@
1
+ #!/usr/bin/env ruby
2
+ # -*- coding: utf-8 -*-
3
+
4
+ require 'write_xlsx'
5
+
6
+ workbook = WriteXLSX.new('keep_leading_zeros.xlsx')
7
+ worksheet = workbook.add_worksheet
8
+
9
+ worksheet.keep_leading_zeros(true)
10
+ worksheet.write('A1', '001')
11
+ worksheet.write('B1', 'written as string.')
12
+ worksheet.write('A2', '012')
13
+ worksheet.write('B2', 'written as string.')
14
+ worksheet.write('A3', '123')
15
+ worksheet.write('B3', 'written as number.')
16
+
17
+ workbook.close
Binary file
@@ -1 +1 @@
1
- WriteXLSX_VERSION = "1.09.0"
1
+ WriteXLSX_VERSION = "1.09.1"
@@ -68,6 +68,7 @@ module Writexlsx
68
68
  @zoom = 100
69
69
  @zoom_scale_normal = true
70
70
  @right_to_left = false
71
+ @leading_zeros = false
71
72
 
72
73
  @autofilter_area = nil
73
74
  @filter_on = false
@@ -832,6 +833,14 @@ module Writexlsx
832
833
  @page_setup.black_white = true
833
834
  end
834
835
 
836
+ #
837
+ # Causes the write() method to treat integers with a leading zero as a string.
838
+ # This ensures that any leading zeros such, as in zip codes, are maintained.
839
+ #
840
+ def keep_leading_zeros(flag = true)
841
+ @leading_zeros = !!flag
842
+ end
843
+
835
844
  #
836
845
  # Display the worksheet right to left for some eastern versions of Excel.
837
846
  #
@@ -890,6 +899,9 @@ module Writexlsx
890
899
  write_row(*args)
891
900
  elsif token.respond_to?(:coerce) # Numeric
892
901
  write_number(*args)
902
+ # Match integer with leading zero(s)
903
+ elsif @leading_zeros && token =~ /^0\d*$/
904
+ write_string(*args)
893
905
  elsif token =~ /^\d+$/
894
906
  write_number(*args)
895
907
  # Match formula
@@ -3335,6 +3335,24 @@ EOS
3335
3335
  compare_xlsx(File.join(@perl_output, @xlsx), @tempfile.path)
3336
3336
  end
3337
3337
 
3338
+ def test_keep_leading_zoros
3339
+ @xlsx = 'keep_leading_zeros.xlsx'
3340
+ workbook = WriteXLSX.new(@io)
3341
+ worksheet = workbook.add_worksheet
3342
+
3343
+ worksheet.keep_leading_zeros(true)
3344
+ worksheet.write('A1', '001')
3345
+ worksheet.write('B1', 'written as string.')
3346
+ worksheet.write('A2', '012')
3347
+ worksheet.write('B2', 'written as string.')
3348
+ worksheet.write('A3', '123')
3349
+ worksheet.write('B3', 'written as number.')
3350
+
3351
+ workbook.close
3352
+ store_to_tempfile
3353
+ compare_xlsx(File.join(@perl_output, @xlsx), @tempfile.path)
3354
+ end
3355
+
3338
3356
  def test_merge1
3339
3357
  @xlsx = 'merge1.xlsx'
3340
3358
  # Create a new workbook and add a worksheet
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.0
4
+ version: 1.09.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Hideo NAKAMURA
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2021-11-26 00:00:00.000000000 Z
11
+ date: 2021-11-27 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rubyzip
@@ -140,6 +140,7 @@ files:
140
140
  - examples/hyperlink1.rb
141
141
  - examples/ignore_errors.rb
142
142
  - examples/indent.rb
143
+ - examples/keep_leading_zeros.rb
143
144
  - examples/macros.rb
144
145
  - examples/merge1.rb
145
146
  - examples/merge2.rb
@@ -174,7 +175,7 @@ files:
174
175
  - examples/tables.rb
175
176
  - examples/update_range_format_with_params.rb
176
177
  - examples/vbaProject.bin
177
- - ignore_errors.xlsx
178
+ - keep_leading_zeros.xlsx
178
179
  - lib/write_xlsx.rb
179
180
  - lib/write_xlsx/chart.rb
180
181
  - lib/write_xlsx/chart/area.rb
@@ -371,6 +372,7 @@ files:
371
372
  - test/perl_output/hyperlink.xlsx
372
373
  - test/perl_output/ignore_errors.xlsx
373
374
  - test/perl_output/indent.xlsx
375
+ - test/perl_output/keep_leading_zeros.xlsx
374
376
  - test/perl_output/merge1.xlsx
375
377
  - test/perl_output/merge2.xlsx
376
378
  - test/perl_output/merge3.xlsx
@@ -2329,6 +2331,7 @@ test_files:
2329
2331
  - test/perl_output/hyperlink.xlsx
2330
2332
  - test/perl_output/ignore_errors.xlsx
2331
2333
  - test/perl_output/indent.xlsx
2334
+ - test/perl_output/keep_leading_zeros.xlsx
2332
2335
  - test/perl_output/merge1.xlsx
2333
2336
  - test/perl_output/merge2.xlsx
2334
2337
  - test/perl_output/merge3.xlsx
data/ignore_errors.xlsx DELETED
Binary file