write_xlsx 0.85.7 → 0.86.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.
- checksums.yaml +5 -5
- data/Changes +29 -0
- data/README.md +1 -1
- data/examples/colors.rb +47 -0
- data/examples/comments2.rb +1 -1
- data/examples/conditional_format.rb +60 -9
- data/examples/data_validate.rb +7 -7
- data/examples/panes.rb +1 -1
- data/examples/tab_colors.rb +1 -1
- data/examples/update_range_format_with_params.rb +33 -0
- data/lib/write_xlsx/chart.rb +1 -1
- data/lib/write_xlsx/format.rb +4 -5
- data/lib/write_xlsx/package/app.rb +12 -0
- data/lib/write_xlsx/package/comments.rb +4 -2
- data/lib/write_xlsx/package/conditional_format.rb +8 -2
- data/lib/write_xlsx/package/shared_strings.rb +12 -10
- data/lib/write_xlsx/package/styles.rb +1 -1
- data/lib/write_xlsx/package/table.rb +17 -5
- data/lib/write_xlsx/package/xml_writer_simple.rb +9 -8
- data/lib/write_xlsx/utility.rb +4 -2
- data/lib/write_xlsx/version.rb +1 -1
- data/lib/write_xlsx/workbook.rb +17 -14
- data/lib/write_xlsx/worksheet.rb +117 -15
- data/lib/write_xlsx/worksheet/cell_data.rb +3 -1
- data/lib/write_xlsx/worksheet/data_validation.rb +23 -11
- data/lib/write_xlsx/worksheet/hyperlink.rb +14 -10
- data/test/regression/images/red_208.png +0 -0
- data/test/regression/test_data_validation08.rb +24 -0
- data/test/regression/test_hyperlink22.rb +24 -0
- data/test/regression/test_hyperlink23.rb +24 -0
- data/test/regression/test_hyperlink24.rb +24 -0
- data/test/regression/test_image28.rb +27 -0
- data/test/regression/test_image29.rb +27 -0
- data/test/regression/test_image30.rb +27 -0
- data/test/regression/test_image31.rb +30 -0
- data/test/regression/test_image32.rb +28 -0
- data/test/regression/test_image33.rb +32 -0
- data/test/regression/test_properties02.rb +28 -0
- data/test/regression/test_update_range_format_with_params.rb +42 -0
- data/test/regression/xlsx_files/data_validation08.xlsx +0 -0
- data/test/regression/xlsx_files/hyperlink22.xlsx +0 -0
- data/test/regression/xlsx_files/hyperlink23.xlsx +0 -0
- data/test/regression/xlsx_files/hyperlink24.xlsx +0 -0
- data/test/regression/xlsx_files/image28.xlsx +0 -0
- data/test/regression/xlsx_files/image29.xlsx +0 -0
- data/test/regression/xlsx_files/image30.xlsx +0 -0
- data/test/regression/xlsx_files/image31.xlsx +0 -0
- data/test/regression/xlsx_files/image32.xlsx +0 -0
- data/test/regression/xlsx_files/image33.xlsx +0 -0
- data/test/regression/xlsx_files/properties02.xlsx +0 -0
- data/test/regression/xlsx_files/table18.xlsx +0 -0
- data/test/regression/xlsx_files/table19.xlsx +0 -0
- data/test/regression/xlsx_files/update_range_format_with_params.xlsx +0 -0
- data/test/run_test.rb +9 -0
- data/test/test_xml_writer_simple.rb +3 -3
- data/test/worksheet/test_cond_format_21.rb +90 -0
- data/test/worksheet/test_format.rb +17 -0
- data/test/worksheet/test_sparkline_12.rb +94 -0
- data/test/worksheet/test_update_format_methods.rb +111 -0
- data/test/worksheet/test_write_data_validation_02.rb +14 -1
- data/write_xlsx.gemspec +1 -1
- metadata +69 -6
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
data/test/run_test.rb
ADDED
@@ -23,11 +23,11 @@ def test_empty_tag_with_xml_decl
|
|
23
23
|
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
|
24
24
|
<foo/>
|
25
25
|
EOS
|
26
|
-
assert_equal(expected, @obj.xml_decl
|
26
|
+
assert_equal(expected, @obj.xml_decl + @obj.empty_tag('foo') + "\n")
|
27
27
|
end
|
28
28
|
|
29
29
|
def test_start_end_tag
|
30
|
-
assert_equal("<foo></foo>", @obj.start_tag('foo')
|
30
|
+
assert_equal("<foo></foo>", @obj.start_tag('foo') + @obj.end_tag('foo'))
|
31
31
|
end
|
32
32
|
|
33
33
|
def test_attribute
|
@@ -39,7 +39,7 @@ def test_attribute
|
|
39
39
|
def test_character_data
|
40
40
|
assert_equal(
|
41
41
|
"<foo><tag>&amp;</tag></foo>",
|
42
|
-
@obj.start_tag('foo')
|
42
|
+
@obj.start_tag('foo') + @obj.characters("<tag>&</tag>") + @obj.end_tag('foo')
|
43
43
|
)
|
44
44
|
end
|
45
45
|
|
@@ -0,0 +1,90 @@
|
|
1
|
+
# -*- coding: utf-8 -*-
|
2
|
+
require 'helper'
|
3
|
+
require 'write_xlsx'
|
4
|
+
require 'stringio'
|
5
|
+
|
6
|
+
class TestCondFormat21 < Test::Unit::TestCase
|
7
|
+
def setup
|
8
|
+
@workbook = WriteXLSX.new(StringIO.new)
|
9
|
+
@worksheet = @workbook.add_worksheet('')
|
10
|
+
end
|
11
|
+
|
12
|
+
###############################################################################
|
13
|
+
#
|
14
|
+
# Tests for Excel::Writer::XLSX::Worksheet methods.
|
15
|
+
#
|
16
|
+
|
17
|
+
###############################################################################
|
18
|
+
#
|
19
|
+
# Test the _assemble_xml_file() method.
|
20
|
+
#
|
21
|
+
# Test conditional formats.
|
22
|
+
#
|
23
|
+
def test_conditional_formats
|
24
|
+
@worksheet.select
|
25
|
+
|
26
|
+
# Start test code.
|
27
|
+
@worksheet.write('A1', 10)
|
28
|
+
@worksheet.write('A2', 20)
|
29
|
+
@worksheet.write('A3', 30)
|
30
|
+
@worksheet.write('A4', 40)
|
31
|
+
|
32
|
+
@worksheet.conditional_formatting('A1',
|
33
|
+
{
|
34
|
+
:type => 'cell',
|
35
|
+
:format => nil,
|
36
|
+
:criteria => 'greater than',
|
37
|
+
:value => 5,
|
38
|
+
:stop_if_true => 1
|
39
|
+
}
|
40
|
+
)
|
41
|
+
# End test code.
|
42
|
+
|
43
|
+
@worksheet.assemble_xml_file
|
44
|
+
result = got_to_array(@worksheet.instance_variable_get(:@writer).string)
|
45
|
+
|
46
|
+
expected = expected_to_array(expected_xml)
|
47
|
+
assert_equal(expected, result)
|
48
|
+
end
|
49
|
+
|
50
|
+
def expected_xml
|
51
|
+
<<EOS
|
52
|
+
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
|
53
|
+
<worksheet xmlns="http://schemas.openxmlformats.org/spreadsheetml/2006/main" xmlns:r="http://schemas.openxmlformats.org/officeDocument/2006/relationships">
|
54
|
+
<dimension ref="A1:A4"/>
|
55
|
+
<sheetViews>
|
56
|
+
<sheetView tabSelected="1" workbookViewId="0"/>
|
57
|
+
</sheetViews>
|
58
|
+
<sheetFormatPr defaultRowHeight="15"/>
|
59
|
+
<sheetData>
|
60
|
+
<row r="1" spans="1:1">
|
61
|
+
<c r="A1">
|
62
|
+
<v>10</v>
|
63
|
+
</c>
|
64
|
+
</row>
|
65
|
+
<row r="2" spans="1:1">
|
66
|
+
<c r="A2">
|
67
|
+
<v>20</v>
|
68
|
+
</c>
|
69
|
+
</row>
|
70
|
+
<row r="3" spans="1:1">
|
71
|
+
<c r="A3">
|
72
|
+
<v>30</v>
|
73
|
+
</c>
|
74
|
+
</row>
|
75
|
+
<row r="4" spans="1:1">
|
76
|
+
<c r="A4">
|
77
|
+
<v>40</v>
|
78
|
+
</c>
|
79
|
+
</row>
|
80
|
+
</sheetData>
|
81
|
+
<conditionalFormatting sqref="A1">
|
82
|
+
<cfRule type="cellIs" priority="1" stopIfTrue="1" operator="greaterThan">
|
83
|
+
<formula>5</formula>
|
84
|
+
</cfRule>
|
85
|
+
</conditionalFormatting>
|
86
|
+
<pageMargins left="0.7" right="0.7" top="0.75" bottom="0.75" header="0.3" footer="0.3"/>
|
87
|
+
</worksheet>
|
88
|
+
EOS
|
89
|
+
end
|
90
|
+
end
|
@@ -0,0 +1,17 @@
|
|
1
|
+
# -*- coding: utf-8 -*-
|
2
|
+
require 'helper'
|
3
|
+
require 'write_xlsx'
|
4
|
+
require 'stringio'
|
5
|
+
|
6
|
+
class TestFormat < Test::Unit::TestCase
|
7
|
+
def setup
|
8
|
+
@workbook = WriteXLSX.new(StringIO.new)
|
9
|
+
@format = @workbook.add_format
|
10
|
+
end
|
11
|
+
|
12
|
+
def test_set_align_with_frozen_parameter
|
13
|
+
assert_nothing_raised do
|
14
|
+
@format.set_align('LEFT'.freeze)
|
15
|
+
end
|
16
|
+
end
|
17
|
+
end
|
@@ -0,0 +1,94 @@
|
|
1
|
+
# -*- coding: utf-8 -*-
|
2
|
+
require 'helper'
|
3
|
+
require 'write_xlsx'
|
4
|
+
require 'stringio'
|
5
|
+
|
6
|
+
class TestSparkline12 < Test::Unit::TestCase
|
7
|
+
def setup
|
8
|
+
@workbook = WriteXLSX.new(StringIO.new)
|
9
|
+
@worksheet = @workbook.add_worksheet('Sheet1')
|
10
|
+
end
|
11
|
+
|
12
|
+
def test_sparkline12
|
13
|
+
@worksheet.excel_version = 2010
|
14
|
+
@worksheet.select
|
15
|
+
|
16
|
+
data = [-2, 2, 3, -1, 0]
|
17
|
+
|
18
|
+
@worksheet.write('A1', data)
|
19
|
+
|
20
|
+
# Set up sparklines
|
21
|
+
|
22
|
+
@worksheet.add_sparkline(
|
23
|
+
{
|
24
|
+
:location => 'F1',
|
25
|
+
:range => 'Sheet1!A1:E1',
|
26
|
+
:max => 4,
|
27
|
+
:min => 0
|
28
|
+
}
|
29
|
+
)
|
30
|
+
|
31
|
+
# End sparkline
|
32
|
+
|
33
|
+
@worksheet.assemble_xml_file
|
34
|
+
result = got_to_array(@worksheet.instance_variable_get(:@writer).string)
|
35
|
+
|
36
|
+
expected = expected_to_array(expected_xml)
|
37
|
+
assert_equal(expected, result)
|
38
|
+
end
|
39
|
+
|
40
|
+
def expected_xml
|
41
|
+
<<EOS
|
42
|
+
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
|
43
|
+
<worksheet xmlns="http://schemas.openxmlformats.org/spreadsheetml/2006/main" xmlns:r="http://schemas.openxmlformats.org/officeDocument/2006/relationships" xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" xmlns:x14ac="http://schemas.microsoft.com/office/spreadsheetml/2009/9/ac" mc:Ignorable="x14ac">
|
44
|
+
<dimension ref="A1:E1"/>
|
45
|
+
<sheetViews>
|
46
|
+
<sheetView tabSelected="1" workbookViewId="0"/>
|
47
|
+
</sheetViews>
|
48
|
+
<sheetFormatPr defaultRowHeight="15" x14ac:dyDescent="0.25"/>
|
49
|
+
<sheetData>
|
50
|
+
<row r="1" spans="1:5" x14ac:dyDescent="0.25">
|
51
|
+
<c r="A1">
|
52
|
+
<v>-2</v>
|
53
|
+
</c>
|
54
|
+
<c r="B1">
|
55
|
+
<v>2</v>
|
56
|
+
</c>
|
57
|
+
<c r="C1">
|
58
|
+
<v>3</v>
|
59
|
+
</c>
|
60
|
+
<c r="D1">
|
61
|
+
<v>-1</v>
|
62
|
+
</c>
|
63
|
+
<c r="E1">
|
64
|
+
<v>0</v>
|
65
|
+
</c>
|
66
|
+
</row>
|
67
|
+
</sheetData>
|
68
|
+
<pageMargins left="0.7" right="0.7" top="0.75" bottom="0.75" header="0.3" footer="0.3"/>
|
69
|
+
<extLst>
|
70
|
+
<ext xmlns:x14="http://schemas.microsoft.com/office/spreadsheetml/2009/9/main" uri="{05C60535-1F16-4fd2-B633-F4F36F0B64E0}">
|
71
|
+
<x14:sparklineGroups xmlns:xm="http://schemas.microsoft.com/office/excel/2006/main">
|
72
|
+
<x14:sparklineGroup manualMax="4" manualMin="0" displayEmptyCellsAs="gap" minAxisType="custom" maxAxisType="custom">
|
73
|
+
<x14:colorSeries theme="4" tint="-0.499984740745262"/>
|
74
|
+
<x14:colorNegative theme="5"/>
|
75
|
+
<x14:colorAxis rgb="FF000000"/>
|
76
|
+
<x14:colorMarkers theme="4" tint="-0.499984740745262"/>
|
77
|
+
<x14:colorFirst theme="4" tint="0.39997558519241921"/>
|
78
|
+
<x14:colorLast theme="4" tint="0.39997558519241921"/>
|
79
|
+
<x14:colorHigh theme="4"/>
|
80
|
+
<x14:colorLow theme="4"/>
|
81
|
+
<x14:sparklines>
|
82
|
+
<x14:sparkline>
|
83
|
+
<xm:f>Sheet1!A1:E1</xm:f>
|
84
|
+
<xm:sqref>F1</xm:sqref>
|
85
|
+
</x14:sparkline>
|
86
|
+
</x14:sparklines>
|
87
|
+
</x14:sparklineGroup>
|
88
|
+
</x14:sparklineGroups>
|
89
|
+
</ext>
|
90
|
+
</extLst>
|
91
|
+
</worksheet>
|
92
|
+
EOS
|
93
|
+
end
|
94
|
+
end
|
@@ -0,0 +1,111 @@
|
|
1
|
+
# -*- coding: utf-8 -*-
|
2
|
+
require 'helper'
|
3
|
+
require 'write_xlsx'
|
4
|
+
require 'stringio'
|
5
|
+
|
6
|
+
class TestUpdateFormatMethods < Test::Unit::TestCase
|
7
|
+
def setup
|
8
|
+
@workbook = WriteXLSX.new(StringIO.new)
|
9
|
+
@worksheet = @workbook.add_worksheet('')
|
10
|
+
end
|
11
|
+
|
12
|
+
def test_update_format_with_params_with_insufficient_args_raise_InsufficientArgumentError
|
13
|
+
assert_raise(WriteXLSXInsufficientArgumentError) do
|
14
|
+
@worksheet.update_format_with_params
|
15
|
+
end
|
16
|
+
assert_raise(WriteXLSXInsufficientArgumentError) do
|
17
|
+
@worksheet.update_format_with_params(0)
|
18
|
+
end
|
19
|
+
assert_raise(WriteXLSXInsufficientArgumentError) do
|
20
|
+
@worksheet.update_format_with_params('A1')
|
21
|
+
end
|
22
|
+
end
|
23
|
+
|
24
|
+
def test_update_format_with_params_with_valid_arg_not_raise
|
25
|
+
assert_nothing_raised do
|
26
|
+
@worksheet.update_format_with_params(0, 0, color: 'red', border: 2)
|
27
|
+
end
|
28
|
+
assert_nothing_raised do
|
29
|
+
@worksheet.update_format_with_params('B2', align: 'center')
|
30
|
+
end
|
31
|
+
end
|
32
|
+
|
33
|
+
def test_update_format_with_params_should_write_blank_when_there_is_no_CellData
|
34
|
+
assert_nil(@worksheet.instance_variable_get(:@cell_data_table)[0])
|
35
|
+
@worksheet.update_format_with_params(0, 0, left: 4)
|
36
|
+
assert @worksheet.instance_variable_get(:@cell_data_table)[0][0] != nil
|
37
|
+
end
|
38
|
+
|
39
|
+
def test_update_format_with_params_should_keep_data_when_updating_format
|
40
|
+
number = 153
|
41
|
+
@worksheet.write(0, 0, number)
|
42
|
+
@worksheet.update_format_with_params(0, 0, bg_color: 'gray')
|
43
|
+
assert_equal(@worksheet.instance_variable_get(:@cell_data_table)[0][0].data, number)
|
44
|
+
|
45
|
+
string = 'Hello, World!'
|
46
|
+
@worksheet.write(0, 0, string)
|
47
|
+
@worksheet.update_format_with_params(0, 0, bg_color: 'gray')
|
48
|
+
written_string = @workbook.shared_strings.string(@worksheet.instance_variable_get(:@cell_data_table)[0][0].data[:sst_id])
|
49
|
+
assert_equal(written_string, string)
|
50
|
+
|
51
|
+
formula = '=1+1'
|
52
|
+
@worksheet.write(0, 0, formula)
|
53
|
+
@worksheet.update_format_with_params(0, 0, bg_color: 'gray')
|
54
|
+
assert_equal(@worksheet.instance_variable_get(:@cell_data_table)[0][0].token, '1+1')
|
55
|
+
|
56
|
+
array_formula = '{=SUM(B1:C1*B2:C2)}'
|
57
|
+
@worksheet.write('A1', array_formula)
|
58
|
+
@worksheet.update_format_with_params(0, 0, bg_color: 'gray')
|
59
|
+
assert_equal(@worksheet.instance_variable_get(:@cell_data_table)[0][0].token, 'SUM(B1:C1*B2:C2)')
|
60
|
+
|
61
|
+
url = 'https://www.writexlsx.io'
|
62
|
+
@worksheet.write(0, 0, url)
|
63
|
+
@worksheet.update_format_with_params(0, 0, bg_color: 'gray')
|
64
|
+
written_string = @workbook.shared_strings.string(@worksheet.instance_variable_get(:@cell_data_table)[0][0].data[:sst_id])
|
65
|
+
assert_equal(written_string, url)
|
66
|
+
|
67
|
+
string = 'Hello, World!'
|
68
|
+
format = @workbook.add_format(color: 'white')
|
69
|
+
@worksheet.write(0, 0, string, format)
|
70
|
+
@worksheet.update_format_with_params(0, 0, bg_color: 'gray')
|
71
|
+
written_string = @workbook.shared_strings.string(@worksheet.instance_variable_get(:@cell_data_table)[0][0].data[:sst_id])
|
72
|
+
assert_equal(written_string, string)
|
73
|
+
end
|
74
|
+
|
75
|
+
def test_update_format_with_params_should_not_update_other_cells_format
|
76
|
+
format = @workbook.add_format(bold: 1)
|
77
|
+
@worksheet.write_row(0, 0, ['', '', '', '', ''], format)
|
78
|
+
@worksheet.update_format_with_params(0, 0, bold: 0)
|
79
|
+
assert_not_equal(@worksheet.instance_variable_get(:@cell_data_table)[0][0].xf,
|
80
|
+
@worksheet.instance_variable_get(:@cell_data_table)[0][1].xf )
|
81
|
+
assert_equal(@worksheet.instance_variable_get(:@cell_data_table)[0][0].xf.bold, 0)
|
82
|
+
assert_equal(@worksheet.instance_variable_get(:@cell_data_table)[0][1].xf.bold, 1)
|
83
|
+
end
|
84
|
+
|
85
|
+
def test_update_range_format_with_params_with_insufficient_args_raise_InsufficientArgumentError
|
86
|
+
assert_raise(WriteXLSXInsufficientArgumentError) do
|
87
|
+
@worksheet.update_range_format_with_params
|
88
|
+
end
|
89
|
+
assert_raise(WriteXLSXInsufficientArgumentError) do
|
90
|
+
@worksheet.update_range_format_with_params(0, 0)
|
91
|
+
end
|
92
|
+
assert_raise(WriteXLSXInsufficientArgumentError) do
|
93
|
+
@worksheet.update_range_format_with_params('A1')
|
94
|
+
end
|
95
|
+
assert_raise(WriteXLSXInsufficientArgumentError) do
|
96
|
+
@worksheet.update_range_format_with_params(0, 0, 3, 3)
|
97
|
+
end
|
98
|
+
assert_raise(WriteXLSXInsufficientArgumentError) do
|
99
|
+
@worksheet.update_range_format_with_params('A2:C2')
|
100
|
+
end
|
101
|
+
end
|
102
|
+
|
103
|
+
def test_update_range_format_with_params_with_valid_arg_not_raise
|
104
|
+
assert_nothing_raised do
|
105
|
+
@worksheet.update_range_format_with_params(0, 0, 3, 3, bold: 1)
|
106
|
+
end
|
107
|
+
assert_nothing_raised do
|
108
|
+
@worksheet.update_range_format_with_params('A2:D5', bold: 1)
|
109
|
+
end
|
110
|
+
end
|
111
|
+
end
|
@@ -272,7 +272,7 @@ def test_write_data_validations_integer_between_1_and_10_with_input_title_and_in
|
|
272
272
|
assert_equal(expected, result)
|
273
273
|
end
|
274
274
|
|
275
|
-
def
|
275
|
+
def test_write_data_validation_validate_any_value_on_its_own_shouldnt_produce_a_DV_record
|
276
276
|
@worksheet.data_validation('B5', :validate => 'any')
|
277
277
|
@worksheet.__send__('write_data_validations')
|
278
278
|
result = @worksheet.instance_variable_get(:@writer).string
|
@@ -525,4 +525,17 @@ def test_write_data_validations_multiple_validation
|
|
525
525
|
expected = '<dataValidations count="2"><dataValidation type="whole" operator="greaterThan" allowBlank="1" showInputMessage="1" showErrorMessage="1" sqref="B5"><formula1>10</formula1></dataValidation><dataValidation type="whole" operator="lessThan" allowBlank="1" showInputMessage="1" showErrorMessage="1" sqref="C10"><formula1>10</formula1></dataValidation></dataValidations>'
|
526
526
|
assert_equal(expected, result)
|
527
527
|
end
|
528
|
+
|
529
|
+
def test_write_data_validations_any_with_an_input_message_should_produce_a_DV_record
|
530
|
+
@worksheet.data_validation(
|
531
|
+
'B5',
|
532
|
+
:validate => 'any',
|
533
|
+
:input_title => 'Input title January',
|
534
|
+
:input_message => 'Input message February'
|
535
|
+
)
|
536
|
+
@worksheet.__send__('write_data_validations')
|
537
|
+
result = @worksheet.instance_variable_get(:@writer).string
|
538
|
+
expected = '<dataValidations count="1"><dataValidation allowBlank="1" showInputMessage="1" showErrorMessage="1" promptTitle="Input title January" prompt="Input message February" sqref="B5"/></dataValidations>'
|
539
|
+
assert_equal(expected, result)
|
540
|
+
end
|
528
541
|
end
|
data/write_xlsx.gemspec
CHANGED
@@ -7,7 +7,7 @@ Gem::Specification.new do |gem|
|
|
7
7
|
gem.name = "write_xlsx"
|
8
8
|
gem.version = WriteXLSX_VERSION
|
9
9
|
gem.authors = ["Hideo NAKAMURA"]
|
10
|
-
gem.email = ["
|
10
|
+
gem.email = ["nakamura.hideo@gmail.com"]
|
11
11
|
gem.description = "write_xlsx is a gem to create a new file in the Excel 2007+ XLSX format."
|
12
12
|
gem.summary = "write_xlsx is a gem to create a new file in the Excel 2007+ XLSX format."
|
13
13
|
gem.homepage = "http://github.com/cxn03651/write_xlsx#readme"
|
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: 0.
|
4
|
+
version: 0.86.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Hideo NAKAMURA
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2020-11-01 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rubyzip
|
@@ -68,7 +68,7 @@ dependencies:
|
|
68
68
|
version: '0'
|
69
69
|
description: write_xlsx is a gem to create a new file in the Excel 2007+ XLSX format.
|
70
70
|
email:
|
71
|
-
-
|
71
|
+
- nakamura.hideo@gmail.com
|
72
72
|
executables:
|
73
73
|
- extract_vba.rb
|
74
74
|
extensions: []
|
@@ -154,6 +154,7 @@ files:
|
|
154
154
|
- examples/stocks.rb
|
155
155
|
- examples/tab_colors.rb
|
156
156
|
- examples/tables.rb
|
157
|
+
- examples/update_range_format_with_params.rb
|
157
158
|
- examples/vbaProject.bin
|
158
159
|
- lib/write_xlsx.rb
|
159
160
|
- lib/write_xlsx/chart.rb
|
@@ -395,6 +396,7 @@ files:
|
|
395
396
|
- test/regression/images/red.bmp
|
396
397
|
- test/regression/images/red.jpg
|
397
398
|
- test/regression/images/red.png
|
399
|
+
- test/regression/images/red_208.png
|
398
400
|
- test/regression/images/red_64x20.png
|
399
401
|
- test/regression/images/train.jpg
|
400
402
|
- test/regression/images/yellow.jpg
|
@@ -741,6 +743,7 @@ files:
|
|
741
743
|
- test/regression/test_data_validation03.rb
|
742
744
|
- test/regression/test_data_validation04.rb
|
743
745
|
- test/regression/test_data_validation05.rb
|
746
|
+
- test/regression/test_data_validation08.rb
|
744
747
|
- test/regression/test_date_1904_01.rb
|
745
748
|
- test/regression/test_date_1904_02.rb
|
746
749
|
- test/regression/test_date_examples01.rb
|
@@ -822,6 +825,9 @@ files:
|
|
822
825
|
- test/regression/test_hyperlink18.rb
|
823
826
|
- test/regression/test_hyperlink20.rb
|
824
827
|
- test/regression/test_hyperlink21.rb
|
828
|
+
- test/regression/test_hyperlink22.rb
|
829
|
+
- test/regression/test_hyperlink23.rb
|
830
|
+
- test/regression/test_hyperlink24.rb
|
825
831
|
- test/regression/test_image01.rb
|
826
832
|
- test/regression/test_image02.rb
|
827
833
|
- test/regression/test_image03.rb
|
@@ -847,6 +853,12 @@ files:
|
|
847
853
|
- test/regression/test_image25.rb
|
848
854
|
- test/regression/test_image26.rb
|
849
855
|
- test/regression/test_image27.rb
|
856
|
+
- test/regression/test_image28.rb
|
857
|
+
- test/regression/test_image29.rb
|
858
|
+
- test/regression/test_image30.rb
|
859
|
+
- test/regression/test_image31.rb
|
860
|
+
- test/regression/test_image32.rb
|
861
|
+
- test/regression/test_image33.rb
|
850
862
|
- test/regression/test_landscape01.rb
|
851
863
|
- test/regression/test_macro01.rb
|
852
864
|
- test/regression/test_merge_cells01.rb
|
@@ -887,6 +899,7 @@ files:
|
|
887
899
|
- test/regression/test_print_scale01.rb
|
888
900
|
- test/regression/test_print_scale02.rb
|
889
901
|
- test/regression/test_properties01.rb
|
902
|
+
- test/regression/test_properties02.rb
|
890
903
|
- test/regression/test_protect01.rb
|
891
904
|
- test/regression/test_protect02.rb
|
892
905
|
- test/regression/test_protect03.rb
|
@@ -978,6 +991,7 @@ files:
|
|
978
991
|
- test/regression/test_tutorial01.rb
|
979
992
|
- test/regression/test_tutorial02.rb
|
980
993
|
- test/regression/test_tutorial03.rb
|
994
|
+
- test/regression/test_update_range_format_with_params.rb
|
981
995
|
- test/regression/test_urls_as_strings.rb
|
982
996
|
- test/regression/test_utf8_01.rb
|
983
997
|
- test/regression/test_utf8_03.rb
|
@@ -1324,6 +1338,7 @@ files:
|
|
1324
1338
|
- test/regression/xlsx_files/data_validation01.xlsx
|
1325
1339
|
- test/regression/xlsx_files/data_validation02.xlsx
|
1326
1340
|
- test/regression/xlsx_files/data_validation03.xlsx
|
1341
|
+
- test/regression/xlsx_files/data_validation08.xlsx
|
1327
1342
|
- test/regression/xlsx_files/date_1904_01.xlsx
|
1328
1343
|
- test/regression/xlsx_files/date_1904_02.xlsx
|
1329
1344
|
- test/regression/xlsx_files/date_examples01.xlsx
|
@@ -1406,6 +1421,9 @@ files:
|
|
1406
1421
|
- test/regression/xlsx_files/hyperlink18.xlsx
|
1407
1422
|
- test/regression/xlsx_files/hyperlink20.xlsx
|
1408
1423
|
- test/regression/xlsx_files/hyperlink21.xlsx
|
1424
|
+
- test/regression/xlsx_files/hyperlink22.xlsx
|
1425
|
+
- test/regression/xlsx_files/hyperlink23.xlsx
|
1426
|
+
- test/regression/xlsx_files/hyperlink24.xlsx
|
1409
1427
|
- test/regression/xlsx_files/image01.xlsx
|
1410
1428
|
- test/regression/xlsx_files/image02.xlsx
|
1411
1429
|
- test/regression/xlsx_files/image03.xlsx
|
@@ -1431,6 +1449,12 @@ files:
|
|
1431
1449
|
- test/regression/xlsx_files/image25.xlsx
|
1432
1450
|
- test/regression/xlsx_files/image26.xlsx
|
1433
1451
|
- test/regression/xlsx_files/image27.xlsx
|
1452
|
+
- test/regression/xlsx_files/image28.xlsx
|
1453
|
+
- test/regression/xlsx_files/image29.xlsx
|
1454
|
+
- test/regression/xlsx_files/image30.xlsx
|
1455
|
+
- test/regression/xlsx_files/image31.xlsx
|
1456
|
+
- test/regression/xlsx_files/image32.xlsx
|
1457
|
+
- test/regression/xlsx_files/image33.xlsx
|
1434
1458
|
- test/regression/xlsx_files/landscape01.xlsx
|
1435
1459
|
- test/regression/xlsx_files/macro01.xlsm
|
1436
1460
|
- test/regression/xlsx_files/merge_cells01.xlsx
|
@@ -1471,6 +1495,7 @@ files:
|
|
1471
1495
|
- test/regression/xlsx_files/print_scale01.xlsx
|
1472
1496
|
- test/regression/xlsx_files/print_scale02.xlsx
|
1473
1497
|
- test/regression/xlsx_files/properties01.xlsx
|
1498
|
+
- test/regression/xlsx_files/properties02.xlsx
|
1474
1499
|
- test/regression/xlsx_files/protect01.xlsx
|
1475
1500
|
- test/regression/xlsx_files/protect02.xlsx
|
1476
1501
|
- test/regression/xlsx_files/protect03.xlsx
|
@@ -1558,9 +1583,12 @@ files:
|
|
1558
1583
|
- test/regression/xlsx_files/table14.xlsx
|
1559
1584
|
- test/regression/xlsx_files/table15.xlsx
|
1560
1585
|
- test/regression/xlsx_files/table17.xlsx
|
1586
|
+
- test/regression/xlsx_files/table18.xlsx
|
1587
|
+
- test/regression/xlsx_files/table19.xlsx
|
1561
1588
|
- test/regression/xlsx_files/tutorial01.xlsx
|
1562
1589
|
- test/regression/xlsx_files/tutorial02.xlsx
|
1563
1590
|
- test/regression/xlsx_files/tutorial03.xlsx
|
1591
|
+
- test/regression/xlsx_files/update_range_format_with_params.xlsx
|
1564
1592
|
- test/regression/xlsx_files/urls_as_strings.xlsx
|
1565
1593
|
- test/regression/xlsx_files/utf8_01.xlsx
|
1566
1594
|
- test/regression/xlsx_files/utf8_03.xlsx
|
@@ -1578,6 +1606,7 @@ files:
|
|
1578
1606
|
- test/regression/xlsx_files/vml03.xlsx
|
1579
1607
|
- test/regression/xlsx_files/vml04.xlsx
|
1580
1608
|
- test/republic.png
|
1609
|
+
- test/run_test.rb
|
1581
1610
|
- test/test_col_name.rb
|
1582
1611
|
- test/test_delete_files.rb
|
1583
1612
|
- test/test_example_match.rb
|
@@ -1615,11 +1644,13 @@ files:
|
|
1615
1644
|
- test/worksheet/test_cond_format_18.rb
|
1616
1645
|
- test/worksheet/test_cond_format_19.rb
|
1617
1646
|
- test/worksheet/test_cond_format_20.rb
|
1647
|
+
- test/worksheet/test_cond_format_21.rb
|
1618
1648
|
- test/worksheet/test_convert_date_time_01.rb
|
1619
1649
|
- test/worksheet/test_convert_date_time_02.rb
|
1620
1650
|
- test/worksheet/test_convert_date_time_03.rb
|
1621
1651
|
- test/worksheet/test_convert_date_time_04.rb
|
1622
1652
|
- test/worksheet/test_extract_filter_tokens.rb
|
1653
|
+
- test/worksheet/test_format.rb
|
1623
1654
|
- test/worksheet/test_parse_filter_expression.rb
|
1624
1655
|
- test/worksheet/test_position_object.rb
|
1625
1656
|
- test/worksheet/test_repeat_formula.rb
|
@@ -1634,6 +1665,8 @@ files:
|
|
1634
1665
|
- test/worksheet/test_sparkline_09.rb
|
1635
1666
|
- test/worksheet/test_sparkline_10.rb
|
1636
1667
|
- test/worksheet/test_sparkline_11.rb
|
1668
|
+
- test/worksheet/test_sparkline_12.rb
|
1669
|
+
- test/worksheet/test_update_format_methods.rb
|
1637
1670
|
- test/worksheet/test_worksheet_01.rb
|
1638
1671
|
- test/worksheet/test_worksheet_02.rb
|
1639
1672
|
- test/worksheet/test_worksheet_03.rb
|
@@ -1709,8 +1742,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
1709
1742
|
- !ruby/object:Gem::Version
|
1710
1743
|
version: '0'
|
1711
1744
|
requirements: []
|
1712
|
-
|
1713
|
-
rubygems_version: 2.6.8
|
1745
|
+
rubygems_version: 3.0.3
|
1714
1746
|
signing_key:
|
1715
1747
|
specification_version: 4
|
1716
1748
|
summary: write_xlsx is a gem to create a new file in the Excel 2007+ XLSX format.
|
@@ -1907,6 +1939,7 @@ test_files:
|
|
1907
1939
|
- test/regression/images/red.bmp
|
1908
1940
|
- test/regression/images/red.jpg
|
1909
1941
|
- test/regression/images/red.png
|
1942
|
+
- test/regression/images/red_208.png
|
1910
1943
|
- test/regression/images/red_64x20.png
|
1911
1944
|
- test/regression/images/train.jpg
|
1912
1945
|
- test/regression/images/yellow.jpg
|
@@ -2253,6 +2286,7 @@ test_files:
|
|
2253
2286
|
- test/regression/test_data_validation03.rb
|
2254
2287
|
- test/regression/test_data_validation04.rb
|
2255
2288
|
- test/regression/test_data_validation05.rb
|
2289
|
+
- test/regression/test_data_validation08.rb
|
2256
2290
|
- test/regression/test_date_1904_01.rb
|
2257
2291
|
- test/regression/test_date_1904_02.rb
|
2258
2292
|
- test/regression/test_date_examples01.rb
|
@@ -2334,6 +2368,9 @@ test_files:
|
|
2334
2368
|
- test/regression/test_hyperlink18.rb
|
2335
2369
|
- test/regression/test_hyperlink20.rb
|
2336
2370
|
- test/regression/test_hyperlink21.rb
|
2371
|
+
- test/regression/test_hyperlink22.rb
|
2372
|
+
- test/regression/test_hyperlink23.rb
|
2373
|
+
- test/regression/test_hyperlink24.rb
|
2337
2374
|
- test/regression/test_image01.rb
|
2338
2375
|
- test/regression/test_image02.rb
|
2339
2376
|
- test/regression/test_image03.rb
|
@@ -2359,6 +2396,12 @@ test_files:
|
|
2359
2396
|
- test/regression/test_image25.rb
|
2360
2397
|
- test/regression/test_image26.rb
|
2361
2398
|
- test/regression/test_image27.rb
|
2399
|
+
- test/regression/test_image28.rb
|
2400
|
+
- test/regression/test_image29.rb
|
2401
|
+
- test/regression/test_image30.rb
|
2402
|
+
- test/regression/test_image31.rb
|
2403
|
+
- test/regression/test_image32.rb
|
2404
|
+
- test/regression/test_image33.rb
|
2362
2405
|
- test/regression/test_landscape01.rb
|
2363
2406
|
- test/regression/test_macro01.rb
|
2364
2407
|
- test/regression/test_merge_cells01.rb
|
@@ -2399,6 +2442,7 @@ test_files:
|
|
2399
2442
|
- test/regression/test_print_scale01.rb
|
2400
2443
|
- test/regression/test_print_scale02.rb
|
2401
2444
|
- test/regression/test_properties01.rb
|
2445
|
+
- test/regression/test_properties02.rb
|
2402
2446
|
- test/regression/test_protect01.rb
|
2403
2447
|
- test/regression/test_protect02.rb
|
2404
2448
|
- test/regression/test_protect03.rb
|
@@ -2490,6 +2534,7 @@ test_files:
|
|
2490
2534
|
- test/regression/test_tutorial01.rb
|
2491
2535
|
- test/regression/test_tutorial02.rb
|
2492
2536
|
- test/regression/test_tutorial03.rb
|
2537
|
+
- test/regression/test_update_range_format_with_params.rb
|
2493
2538
|
- test/regression/test_urls_as_strings.rb
|
2494
2539
|
- test/regression/test_utf8_01.rb
|
2495
2540
|
- test/regression/test_utf8_03.rb
|
@@ -2836,6 +2881,7 @@ test_files:
|
|
2836
2881
|
- test/regression/xlsx_files/data_validation01.xlsx
|
2837
2882
|
- test/regression/xlsx_files/data_validation02.xlsx
|
2838
2883
|
- test/regression/xlsx_files/data_validation03.xlsx
|
2884
|
+
- test/regression/xlsx_files/data_validation08.xlsx
|
2839
2885
|
- test/regression/xlsx_files/date_1904_01.xlsx
|
2840
2886
|
- test/regression/xlsx_files/date_1904_02.xlsx
|
2841
2887
|
- test/regression/xlsx_files/date_examples01.xlsx
|
@@ -2918,6 +2964,9 @@ test_files:
|
|
2918
2964
|
- test/regression/xlsx_files/hyperlink18.xlsx
|
2919
2965
|
- test/regression/xlsx_files/hyperlink20.xlsx
|
2920
2966
|
- test/regression/xlsx_files/hyperlink21.xlsx
|
2967
|
+
- test/regression/xlsx_files/hyperlink22.xlsx
|
2968
|
+
- test/regression/xlsx_files/hyperlink23.xlsx
|
2969
|
+
- test/regression/xlsx_files/hyperlink24.xlsx
|
2921
2970
|
- test/regression/xlsx_files/image01.xlsx
|
2922
2971
|
- test/regression/xlsx_files/image02.xlsx
|
2923
2972
|
- test/regression/xlsx_files/image03.xlsx
|
@@ -2943,6 +2992,12 @@ test_files:
|
|
2943
2992
|
- test/regression/xlsx_files/image25.xlsx
|
2944
2993
|
- test/regression/xlsx_files/image26.xlsx
|
2945
2994
|
- test/regression/xlsx_files/image27.xlsx
|
2995
|
+
- test/regression/xlsx_files/image28.xlsx
|
2996
|
+
- test/regression/xlsx_files/image29.xlsx
|
2997
|
+
- test/regression/xlsx_files/image30.xlsx
|
2998
|
+
- test/regression/xlsx_files/image31.xlsx
|
2999
|
+
- test/regression/xlsx_files/image32.xlsx
|
3000
|
+
- test/regression/xlsx_files/image33.xlsx
|
2946
3001
|
- test/regression/xlsx_files/landscape01.xlsx
|
2947
3002
|
- test/regression/xlsx_files/macro01.xlsm
|
2948
3003
|
- test/regression/xlsx_files/merge_cells01.xlsx
|
@@ -2983,6 +3038,7 @@ test_files:
|
|
2983
3038
|
- test/regression/xlsx_files/print_scale01.xlsx
|
2984
3039
|
- test/regression/xlsx_files/print_scale02.xlsx
|
2985
3040
|
- test/regression/xlsx_files/properties01.xlsx
|
3041
|
+
- test/regression/xlsx_files/properties02.xlsx
|
2986
3042
|
- test/regression/xlsx_files/protect01.xlsx
|
2987
3043
|
- test/regression/xlsx_files/protect02.xlsx
|
2988
3044
|
- test/regression/xlsx_files/protect03.xlsx
|
@@ -3070,9 +3126,12 @@ test_files:
|
|
3070
3126
|
- test/regression/xlsx_files/table14.xlsx
|
3071
3127
|
- test/regression/xlsx_files/table15.xlsx
|
3072
3128
|
- test/regression/xlsx_files/table17.xlsx
|
3129
|
+
- test/regression/xlsx_files/table18.xlsx
|
3130
|
+
- test/regression/xlsx_files/table19.xlsx
|
3073
3131
|
- test/regression/xlsx_files/tutorial01.xlsx
|
3074
3132
|
- test/regression/xlsx_files/tutorial02.xlsx
|
3075
3133
|
- test/regression/xlsx_files/tutorial03.xlsx
|
3134
|
+
- test/regression/xlsx_files/update_range_format_with_params.xlsx
|
3076
3135
|
- test/regression/xlsx_files/urls_as_strings.xlsx
|
3077
3136
|
- test/regression/xlsx_files/utf8_01.xlsx
|
3078
3137
|
- test/regression/xlsx_files/utf8_03.xlsx
|
@@ -3090,6 +3149,7 @@ test_files:
|
|
3090
3149
|
- test/regression/xlsx_files/vml03.xlsx
|
3091
3150
|
- test/regression/xlsx_files/vml04.xlsx
|
3092
3151
|
- test/republic.png
|
3152
|
+
- test/run_test.rb
|
3093
3153
|
- test/test_col_name.rb
|
3094
3154
|
- test/test_delete_files.rb
|
3095
3155
|
- test/test_example_match.rb
|
@@ -3127,11 +3187,13 @@ test_files:
|
|
3127
3187
|
- test/worksheet/test_cond_format_18.rb
|
3128
3188
|
- test/worksheet/test_cond_format_19.rb
|
3129
3189
|
- test/worksheet/test_cond_format_20.rb
|
3190
|
+
- test/worksheet/test_cond_format_21.rb
|
3130
3191
|
- test/worksheet/test_convert_date_time_01.rb
|
3131
3192
|
- test/worksheet/test_convert_date_time_02.rb
|
3132
3193
|
- test/worksheet/test_convert_date_time_03.rb
|
3133
3194
|
- test/worksheet/test_convert_date_time_04.rb
|
3134
3195
|
- test/worksheet/test_extract_filter_tokens.rb
|
3196
|
+
- test/worksheet/test_format.rb
|
3135
3197
|
- test/worksheet/test_parse_filter_expression.rb
|
3136
3198
|
- test/worksheet/test_position_object.rb
|
3137
3199
|
- test/worksheet/test_repeat_formula.rb
|
@@ -3146,6 +3208,8 @@ test_files:
|
|
3146
3208
|
- test/worksheet/test_sparkline_09.rb
|
3147
3209
|
- test/worksheet/test_sparkline_10.rb
|
3148
3210
|
- test/worksheet/test_sparkline_11.rb
|
3211
|
+
- test/worksheet/test_sparkline_12.rb
|
3212
|
+
- test/worksheet/test_update_format_methods.rb
|
3149
3213
|
- test/worksheet/test_worksheet_01.rb
|
3150
3214
|
- test/worksheet/test_worksheet_02.rb
|
3151
3215
|
- test/worksheet/test_worksheet_03.rb
|
@@ -3201,4 +3265,3 @@ test_files:
|
|
3201
3265
|
- test/worksheet/test_write_tab_color.rb
|
3202
3266
|
- test/worksheet/test_write_url.rb
|
3203
3267
|
- test/worksheet/test_write_worksheet_attributes.rb
|
3204
|
-
has_rdoc:
|