write_xlsx 1.02.0 → 1.04.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 +4 -4
- data/Changes +22 -0
- data/README.md +1 -1
- data/examples/chart_line.rb +85 -10
- data/examples/tables.rb +77 -42
- data/lib/write_xlsx/chart/line.rb +15 -1
- data/lib/write_xlsx/format.rb +5 -5
- data/lib/write_xlsx/package/comments.rb +4 -4
- data/lib/write_xlsx/package/relationships.rb +2 -2
- data/lib/write_xlsx/package/styles.rb +26 -8
- data/lib/write_xlsx/package/table.rb +8 -7
- data/lib/write_xlsx/package/vml.rb +20 -19
- data/lib/write_xlsx/sheets.rb +12 -20
- data/lib/write_xlsx/version.rb +1 -1
- data/lib/write_xlsx/workbook.rb +53 -35
- data/lib/write_xlsx/worksheet.rb +37 -20
- data/test/perl_output/chart_line.xlsx +0 -0
- data/test/perl_output/comments2.xlsx +0 -0
- data/test/perl_output/tables.xlsx +0 -0
- data/test/regression/images/red2.png +0 -0
- data/test/regression/test_chart_line05.rb +43 -0
- data/test/regression/test_chart_line06.rb +43 -0
- data/test/regression/test_comment15.rb +28 -0
- data/test/regression/test_comment16.rb +34 -0
- data/test/regression/test_header_image15.rb +36 -0
- data/test/regression/test_header_image16.rb +42 -0
- data/test/regression/test_header_image17.rb +46 -0
- data/test/regression/test_header_image18.rb +48 -0
- data/test/regression/test_header_image19.rb +36 -0
- data/test/regression/test_hyperlink48.rb +31 -0
- data/test/regression/test_hyperlink49.rb +29 -0
- data/test/regression/test_image45.rb +2 -1
- data/test/regression/test_image46.rb +1 -1
- data/test/regression/test_image48.rb +32 -0
- data/test/regression/test_image49.rb +38 -0
- data/test/regression/test_image50.rb +24 -0
- data/test/regression/test_image51.rb +30 -0
- data/test/regression/test_object_position12.rb +25 -0
- data/test/regression/test_object_position13.rb +25 -0
- data/test/regression/test_object_position14.rb +25 -0
- data/test/regression/test_object_position15.rb +29 -0
- data/test/regression/test_object_position16.rb +29 -0
- data/test/regression/test_object_position17.rb +29 -0
- data/test/regression/test_object_position18.rb +29 -0
- data/test/regression/test_object_position19.rb +29 -0
- data/test/regression/test_object_position20.rb +29 -0
- data/test/regression/test_table24.rb +27 -0
- data/test/regression/test_table25.rb +27 -0
- data/test/regression/xlsx_files/chart_line05.xlsx +0 -0
- data/test/regression/xlsx_files/chart_line06.xlsx +0 -0
- data/test/regression/xlsx_files/comment15.xlsx +0 -0
- data/test/regression/xlsx_files/comment16.xlsx +0 -0
- data/test/regression/xlsx_files/header_image15.xlsx +0 -0
- data/test/regression/xlsx_files/header_image16.xlsx +0 -0
- data/test/regression/xlsx_files/header_image17.xlsx +0 -0
- data/test/regression/xlsx_files/header_image18.xlsx +0 -0
- data/test/regression/xlsx_files/header_image19.xlsx +0 -0
- data/test/regression/xlsx_files/hyperlink46.xlsx +0 -0
- data/test/regression/xlsx_files/image45.xlsx +0 -0
- data/test/regression/xlsx_files/image46.xlsx +0 -0
- data/test/regression/xlsx_files/image48.xlsx +0 -0
- data/test/regression/xlsx_files/image49.xlsx +0 -0
- data/test/regression/xlsx_files/image50.xlsx +0 -0
- data/test/regression/xlsx_files/image51.xlsx +0 -0
- data/test/regression/xlsx_files/object_position12.xlsx +0 -0
- data/test/regression/xlsx_files/object_position13.xlsx +0 -0
- data/test/regression/xlsx_files/object_position14.xlsx +0 -0
- data/test/regression/xlsx_files/object_position15.xlsx +0 -0
- data/test/regression/xlsx_files/object_position16.xlsx +0 -0
- data/test/regression/xlsx_files/object_position17.xlsx +0 -0
- data/test/regression/xlsx_files/object_position18.xlsx +0 -0
- data/test/regression/xlsx_files/object_position19.xlsx +0 -0
- data/test/regression/xlsx_files/object_position20.xlsx +0 -0
- data/test/regression/xlsx_files/table24.xlsx +0 -0
- data/test/regression/xlsx_files/table25.xlsx +0 -0
- data/test/test_example_match.rb +119 -9
- data/test/workbook/test_check_sheetname.rb +0 -10
- data/write_xlsx.gemspec +1 -0
- metadata +120 -2
@@ -0,0 +1,32 @@
|
|
1
|
+
# -*- coding: utf-8 -*-
|
2
|
+
require 'helper'
|
3
|
+
|
4
|
+
class TestRegressionImage48 < Minitest::Test
|
5
|
+
def setup
|
6
|
+
setup_dir_var
|
7
|
+
end
|
8
|
+
|
9
|
+
def teardown
|
10
|
+
@tempfile.close(true)
|
11
|
+
end
|
12
|
+
|
13
|
+
def test_image48
|
14
|
+
@xlsx = 'image48.xlsx'
|
15
|
+
workbook = WriteXLSX.new(@io)
|
16
|
+
worksheet1 = workbook.add_worksheet
|
17
|
+
worksheet2 = workbook.add_worksheet
|
18
|
+
|
19
|
+
worksheet1.insert_image(
|
20
|
+
'E9',
|
21
|
+
File.join(@test_dir, 'regression', 'images/red.png')
|
22
|
+
)
|
23
|
+
|
24
|
+
worksheet2.insert_image(
|
25
|
+
'E9',
|
26
|
+
File.join(@test_dir, 'regression', 'images/red.png')
|
27
|
+
)
|
28
|
+
|
29
|
+
workbook.close
|
30
|
+
compare_for_regression
|
31
|
+
end
|
32
|
+
end
|
@@ -0,0 +1,38 @@
|
|
1
|
+
# -*- coding: utf-8 -*-
|
2
|
+
require 'helper'
|
3
|
+
|
4
|
+
class TestRegressionImage49 < Minitest::Test
|
5
|
+
def setup
|
6
|
+
setup_dir_var
|
7
|
+
end
|
8
|
+
|
9
|
+
def teardown
|
10
|
+
@tempfile.close(true)
|
11
|
+
end
|
12
|
+
|
13
|
+
def test_image49
|
14
|
+
@xlsx = 'image49.xlsx'
|
15
|
+
workbook = WriteXLSX.new(@io)
|
16
|
+
worksheet1 = workbook.add_worksheet
|
17
|
+
worksheet2 = workbook.add_worksheet
|
18
|
+
worksheet3 = workbook.add_worksheet
|
19
|
+
|
20
|
+
worksheet1.insert_image('A1', 'test/regression/images/blue.png')
|
21
|
+
worksheet1.insert_image('B3', 'test/regression/images/red.jpg')
|
22
|
+
worksheet1.insert_image('D5', 'test/regression/images/yellow.jpg')
|
23
|
+
worksheet1.insert_image('F9', 'test/regression/images/grey.png')
|
24
|
+
|
25
|
+
worksheet2.insert_image('A1', 'test/regression/images/blue.png')
|
26
|
+
worksheet2.insert_image('B3', 'test/regression/images/red.jpg')
|
27
|
+
worksheet2.insert_image('D5', 'test/regression/images/yellow.jpg')
|
28
|
+
worksheet2.insert_image('F9', 'test/regression/images/grey.png')
|
29
|
+
|
30
|
+
worksheet3.insert_image('A1', 'test/regression/images/blue.png')
|
31
|
+
worksheet3.insert_image('B3', 'test/regression/images/red.jpg')
|
32
|
+
worksheet3.insert_image('D5', 'test/regression/images/yellow.jpg')
|
33
|
+
worksheet3.insert_image('F9', 'test/regression/images/grey.png')
|
34
|
+
|
35
|
+
workbook.close
|
36
|
+
compare_for_regression
|
37
|
+
end
|
38
|
+
end
|
@@ -0,0 +1,24 @@
|
|
1
|
+
# -*- coding: utf-8 -*-
|
2
|
+
require 'helper'
|
3
|
+
|
4
|
+
class TestRegressionImage50 < Minitest::Test
|
5
|
+
def setup
|
6
|
+
setup_dir_var
|
7
|
+
end
|
8
|
+
|
9
|
+
def teardown
|
10
|
+
@tempfile.close(true)
|
11
|
+
end
|
12
|
+
|
13
|
+
def test_image50
|
14
|
+
@xlsx = 'image50.xlsx'
|
15
|
+
workbook = WriteXLSX.new(@io)
|
16
|
+
worksheet = workbook.add_worksheet
|
17
|
+
|
18
|
+
worksheet.insert_image('E9', 'test/regression/images/red.png')
|
19
|
+
worksheet.insert_image('E13', 'test/regression/images/red.png')
|
20
|
+
|
21
|
+
workbook.close
|
22
|
+
compare_for_regression
|
23
|
+
end
|
24
|
+
end
|
@@ -0,0 +1,30 @@
|
|
1
|
+
# -*- coding: utf-8 -*-
|
2
|
+
require 'helper'
|
3
|
+
|
4
|
+
class TestRegressionImage51 < Minitest::Test
|
5
|
+
def setup
|
6
|
+
setup_dir_var
|
7
|
+
end
|
8
|
+
|
9
|
+
def teardown
|
10
|
+
@tempfile.close(true)
|
11
|
+
end
|
12
|
+
|
13
|
+
def test_image51
|
14
|
+
@xlsx = 'image51.xlsx'
|
15
|
+
workbook = WriteXLSX.new(@io)
|
16
|
+
worksheet = workbook.add_worksheet
|
17
|
+
|
18
|
+
worksheet.insert_image(
|
19
|
+
'E9', 'test/regression/images/red.png',
|
20
|
+
:url => 'https://duckduckgo.com/?q=1'
|
21
|
+
)
|
22
|
+
worksheet.insert_image(
|
23
|
+
'E13', 'test/regression/images/red2.png',
|
24
|
+
:url => 'https://duckduckgo.com/?q=2'
|
25
|
+
)
|
26
|
+
|
27
|
+
workbook.close
|
28
|
+
compare_for_regression
|
29
|
+
end
|
30
|
+
end
|
@@ -0,0 +1,25 @@
|
|
1
|
+
# -*- coding: utf-8 -*-
|
2
|
+
require 'helper'
|
3
|
+
|
4
|
+
class TestRegressionObjectPosition12 < Minitest::Test
|
5
|
+
def setup
|
6
|
+
setup_dir_var
|
7
|
+
end
|
8
|
+
|
9
|
+
def teardown
|
10
|
+
@tempfile.close(true)
|
11
|
+
end
|
12
|
+
|
13
|
+
def test_object_position12
|
14
|
+
@xlsx = 'object_position12.xlsx'
|
15
|
+
workbook = WriteXLSX.new(@io)
|
16
|
+
worksheet = workbook.add_worksheet
|
17
|
+
|
18
|
+
worksheet.set_column(1, 1, 5, nil)
|
19
|
+
|
20
|
+
worksheet.insert_image('E9', 'test/regression/images/red.png')
|
21
|
+
|
22
|
+
workbook.close
|
23
|
+
compare_for_regression
|
24
|
+
end
|
25
|
+
end
|
@@ -0,0 +1,25 @@
|
|
1
|
+
# -*- coding: utf-8 -*-
|
2
|
+
require 'helper'
|
3
|
+
|
4
|
+
class TestRegressionObjectPosition13 < Minitest::Test
|
5
|
+
def setup
|
6
|
+
setup_dir_var
|
7
|
+
end
|
8
|
+
|
9
|
+
def teardown
|
10
|
+
@tempfile.close(true)
|
11
|
+
end
|
12
|
+
|
13
|
+
def test_object_position13
|
14
|
+
@xlsx = 'object_position13.xlsx'
|
15
|
+
workbook = WriteXLSX.new(@io)
|
16
|
+
worksheet = workbook.add_worksheet
|
17
|
+
|
18
|
+
worksheet.set_column(1, 1, nil, nil, 1)
|
19
|
+
|
20
|
+
worksheet.insert_image('E9', 'test/regression/images/red.png')
|
21
|
+
|
22
|
+
workbook.close
|
23
|
+
compare_for_regression
|
24
|
+
end
|
25
|
+
end
|
@@ -0,0 +1,25 @@
|
|
1
|
+
# -*- coding: utf-8 -*-
|
2
|
+
require 'helper'
|
3
|
+
|
4
|
+
class TestRegressionObjectPosition14 < Minitest::Test
|
5
|
+
def setup
|
6
|
+
setup_dir_var
|
7
|
+
end
|
8
|
+
|
9
|
+
def teardown
|
10
|
+
@tempfile.close(true)
|
11
|
+
end
|
12
|
+
|
13
|
+
def test_object_position14
|
14
|
+
@xlsx = 'object_position14.xlsx'
|
15
|
+
workbook = WriteXLSX.new(@io)
|
16
|
+
worksheet = workbook.add_worksheet
|
17
|
+
|
18
|
+
worksheet.set_column(1, 1, 5, nil, 1)
|
19
|
+
|
20
|
+
worksheet.insert_image('E9', 'test/regression/images/red.png')
|
21
|
+
|
22
|
+
workbook.close
|
23
|
+
compare_for_regression
|
24
|
+
end
|
25
|
+
end
|
@@ -0,0 +1,29 @@
|
|
1
|
+
# -*- coding: utf-8 -*-
|
2
|
+
require 'helper'
|
3
|
+
|
4
|
+
class TestRegressionObjectPosition15 < Minitest::Test
|
5
|
+
def setup
|
6
|
+
setup_dir_var
|
7
|
+
end
|
8
|
+
|
9
|
+
def teardown
|
10
|
+
@tempfile.close(true)
|
11
|
+
end
|
12
|
+
|
13
|
+
def test_object_position15
|
14
|
+
@xlsx = 'object_position15.xlsx'
|
15
|
+
workbook = WriteXLSX.new(@io)
|
16
|
+
worksheet = workbook.add_worksheet
|
17
|
+
|
18
|
+
worksheet.set_column(1, 1, 5, nil)
|
19
|
+
|
20
|
+
# Same as testcase test_object_position12 except with an offset.
|
21
|
+
worksheet.insert_image(
|
22
|
+
'A9', 'test/regression/images/red.png',
|
23
|
+
:x_offset => 232
|
24
|
+
)
|
25
|
+
|
26
|
+
workbook.close
|
27
|
+
compare_for_regression
|
28
|
+
end
|
29
|
+
end
|
@@ -0,0 +1,29 @@
|
|
1
|
+
# -*- coding: utf-8 -*-
|
2
|
+
require 'helper'
|
3
|
+
|
4
|
+
class TestRegressionObjectPosition16 < Minitest::Test
|
5
|
+
def setup
|
6
|
+
setup_dir_var
|
7
|
+
end
|
8
|
+
|
9
|
+
def teardown
|
10
|
+
@tempfile.close(true)
|
11
|
+
end
|
12
|
+
|
13
|
+
def test_object_position16
|
14
|
+
@xlsx = 'object_position16.xlsx'
|
15
|
+
workbook = WriteXLSX.new(@io)
|
16
|
+
worksheet = workbook.add_worksheet
|
17
|
+
|
18
|
+
worksheet.set_column(1, 1, nil, nil, 1)
|
19
|
+
|
20
|
+
# Same as testcase test_object_position13 except with an offset.
|
21
|
+
worksheet.insert_image(
|
22
|
+
'A9', 'test/regression/images/red.png',
|
23
|
+
:x_offset => 192
|
24
|
+
)
|
25
|
+
|
26
|
+
workbook.close
|
27
|
+
compare_for_regression
|
28
|
+
end
|
29
|
+
end
|
@@ -0,0 +1,29 @@
|
|
1
|
+
# -*- coding: utf-8 -*-
|
2
|
+
require 'helper'
|
3
|
+
|
4
|
+
class TestRegressionObjectPosition17 < Minitest::Test
|
5
|
+
def setup
|
6
|
+
setup_dir_var
|
7
|
+
end
|
8
|
+
|
9
|
+
def teardown
|
10
|
+
@tempfile.close(true)
|
11
|
+
end
|
12
|
+
|
13
|
+
def test_object_position17
|
14
|
+
@xlsx = 'object_position17.xlsx'
|
15
|
+
workbook = WriteXLSX.new(@io)
|
16
|
+
worksheet = workbook.add_worksheet
|
17
|
+
|
18
|
+
worksheet.set_column(1, 1, 5, nil, 1)
|
19
|
+
|
20
|
+
# Same as testcase test_object_position14 except with an offset.
|
21
|
+
worksheet.insert_image(
|
22
|
+
'A9', 'test/regression/images/red.png',
|
23
|
+
:x_offset => 192
|
24
|
+
)
|
25
|
+
|
26
|
+
workbook.close
|
27
|
+
compare_for_regression
|
28
|
+
end
|
29
|
+
end
|
@@ -0,0 +1,29 @@
|
|
1
|
+
# -*- coding: utf-8 -*-
|
2
|
+
require 'helper'
|
3
|
+
|
4
|
+
class TestRegressionObjectPosition18 < Minitest::Test
|
5
|
+
def setup
|
6
|
+
setup_dir_var
|
7
|
+
end
|
8
|
+
|
9
|
+
def teardown
|
10
|
+
@tempfile.close(true)
|
11
|
+
end
|
12
|
+
|
13
|
+
def test_object_position18
|
14
|
+
@xlsx = 'object_position18.xlsx'
|
15
|
+
workbook = WriteXLSX.new(@io)
|
16
|
+
worksheet = workbook.add_worksheet
|
17
|
+
|
18
|
+
worksheet.set_column(1, 1, 5, nil)
|
19
|
+
|
20
|
+
# Same as testcase test_object_position12 except with an offset.
|
21
|
+
worksheet.insert_image(
|
22
|
+
'B9', 'test/regression/images/red.png',
|
23
|
+
:x_offset => 168
|
24
|
+
)
|
25
|
+
|
26
|
+
workbook.close
|
27
|
+
compare_for_regression
|
28
|
+
end
|
29
|
+
end
|
@@ -0,0 +1,29 @@
|
|
1
|
+
# -*- coding: utf-8 -*-
|
2
|
+
require 'helper'
|
3
|
+
|
4
|
+
class TestRegressionObjectPosition19 < Minitest::Test
|
5
|
+
def setup
|
6
|
+
setup_dir_var
|
7
|
+
end
|
8
|
+
|
9
|
+
def teardown
|
10
|
+
@tempfile.close(true)
|
11
|
+
end
|
12
|
+
|
13
|
+
def test_object_position19
|
14
|
+
@xlsx = 'object_position19.xlsx'
|
15
|
+
workbook = WriteXLSX.new(@io)
|
16
|
+
worksheet = workbook.add_worksheet
|
17
|
+
|
18
|
+
worksheet.set_column(1, 1, nil, nil, 1)
|
19
|
+
|
20
|
+
# Same as testcase test_object_position13 except with an offset.
|
21
|
+
worksheet.insert_image(
|
22
|
+
'B9', 'test/regression/images/red.png',
|
23
|
+
:x_offset => 128
|
24
|
+
)
|
25
|
+
|
26
|
+
workbook.close
|
27
|
+
compare_for_regression
|
28
|
+
end
|
29
|
+
end
|
@@ -0,0 +1,29 @@
|
|
1
|
+
# -*- coding: utf-8 -*-
|
2
|
+
require 'helper'
|
3
|
+
|
4
|
+
class TestRegressionObjectPosition20 < Minitest::Test
|
5
|
+
def setup
|
6
|
+
setup_dir_var
|
7
|
+
end
|
8
|
+
|
9
|
+
def teardown
|
10
|
+
@tempfile.close(true)
|
11
|
+
end
|
12
|
+
|
13
|
+
def test_object_position20
|
14
|
+
@xlsx = 'object_position20.xlsx'
|
15
|
+
workbook = WriteXLSX.new(@io)
|
16
|
+
worksheet = workbook.add_worksheet
|
17
|
+
|
18
|
+
worksheet.set_column(1, 1, 5, nil, 1)
|
19
|
+
|
20
|
+
# Same as testcase test_object_position14 except with an offset.
|
21
|
+
worksheet.insert_image(
|
22
|
+
'B9', 'test/regression/images/red.png',
|
23
|
+
:x_offset => 128
|
24
|
+
)
|
25
|
+
|
26
|
+
workbook.close
|
27
|
+
compare_for_regression
|
28
|
+
end
|
29
|
+
end
|
@@ -0,0 +1,27 @@
|
|
1
|
+
# -*- coding: utf-8 -*-
|
2
|
+
require 'helper'
|
3
|
+
|
4
|
+
class TestRegressionTable24 < Minitest::Test
|
5
|
+
def setup
|
6
|
+
setup_dir_var
|
7
|
+
end
|
8
|
+
|
9
|
+
def teardown
|
10
|
+
@tempfile.close(true) if @tempfile
|
11
|
+
end
|
12
|
+
|
13
|
+
def test_table24
|
14
|
+
@xlsx = 'table24.xlsx'
|
15
|
+
workbook = WriteXLSX.new(@io)
|
16
|
+
worksheet = workbook.add_worksheet
|
17
|
+
|
18
|
+
# Set the column width to match the target worksheet.
|
19
|
+
worksheet.set_column('C:F', 10.288)
|
20
|
+
|
21
|
+
# Add the table.
|
22
|
+
worksheet.add_table('C3:F13', {:style => 'Table Style Medium 10'})
|
23
|
+
|
24
|
+
workbook.close
|
25
|
+
compare_for_regression
|
26
|
+
end
|
27
|
+
end
|
@@ -0,0 +1,27 @@
|
|
1
|
+
# -*- coding: utf-8 -*-
|
2
|
+
require 'helper'
|
3
|
+
|
4
|
+
class TestRegressionTable25 < Minitest::Test
|
5
|
+
def setup
|
6
|
+
setup_dir_var
|
7
|
+
end
|
8
|
+
|
9
|
+
def teardown
|
10
|
+
@tempfile.close(true) if @tempfile
|
11
|
+
end
|
12
|
+
|
13
|
+
def test_table25
|
14
|
+
@xlsx = 'table25.xlsx'
|
15
|
+
workbook = WriteXLSX.new(@io)
|
16
|
+
worksheet = workbook.add_worksheet
|
17
|
+
|
18
|
+
# Set the column width to match the target worksheet.
|
19
|
+
worksheet.set_column('C:F', 10.288)
|
20
|
+
|
21
|
+
# Add the table.
|
22
|
+
worksheet.add_table('C3:F13', {:style => 'None'})
|
23
|
+
|
24
|
+
workbook.close
|
25
|
+
compare_for_regression
|
26
|
+
end
|
27
|
+
end
|