write_xlsx 0.65.0 → 0.65.1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/README.rdoc +5 -0
- data/lib/write_xlsx/chart.rb +1 -1
- data/lib/write_xlsx/format.rb +93 -17
- data/lib/write_xlsx/package/comments.rb +1 -5
- data/lib/write_xlsx/package/styles.rb +2 -58
- data/lib/write_xlsx/version.rb +1 -1
- data/lib/write_xlsx/workbook.rb +1 -1
- data/lib/write_xlsx/worksheet.rb +20 -18
- data/lib/write_xlsx/worksheet/page_setup.rb +5 -0
- data/test/perl_output/protection.xlsx +0 -0
- data/test/regression/test_date_examples01.rb +48 -0
- data/test/regression/test_defined_name02.rb +32 -0
- data/test/regression/test_defined_name03.rb +32 -0
- data/test/regression/test_firstsheet01.rb +48 -0
- data/test/regression/test_hide01.rb +30 -0
- data/test/regression/test_image08.rb +26 -0
- data/test/regression/test_protect01.rb +28 -0
- data/test/regression/test_protect02.rb +30 -0
- data/test/regression/test_protect03.rb +30 -0
- data/test/regression/test_set_print_scale01.rb +36 -0
- data/test/regression/test_set_start_page01.rb +36 -0
- data/test/regression/test_simple03.rb +39 -0
- data/test/regression/test_simple04.rb +29 -0
- data/test/regression/test_simple05.rb +40 -0
- data/test/regression/test_tutorial01.rb +38 -0
- data/test/regression/test_tutorial02.rb +44 -0
- data/test/regression/test_tutorial03.rb +49 -0
- data/test/regression/xlsx_files/date_examples01.xlsx +0 -0
- data/test/regression/xlsx_files/defined_name02.xlsx +0 -0
- data/test/regression/xlsx_files/defined_name03.xlsx +0 -0
- data/test/regression/xlsx_files/firstsheet01.xlsx +0 -0
- data/test/regression/xlsx_files/hide01.xlsx +0 -0
- data/test/regression/xlsx_files/image08.xlsx +0 -0
- data/test/regression/xlsx_files/protect01.xlsx +0 -0
- data/test/regression/xlsx_files/protect02.xlsx +0 -0
- data/test/regression/xlsx_files/protect03.xlsx +0 -0
- data/test/regression/xlsx_files/set_print_scale01.xlsx +0 -0
- data/test/regression/xlsx_files/set_start_page01.xlsx +0 -0
- data/test/regression/xlsx_files/simple03.xlsx +0 -0
- data/test/regression/xlsx_files/simple04.xlsx +0 -0
- data/test/regression/xlsx_files/simple05.xlsx +0 -0
- data/test/regression/xlsx_files/tutorial01.xlsx +0 -0
- data/test/regression/xlsx_files/tutorial02.xlsx +0 -0
- data/test/regression/xlsx_files/tutorial03.xlsx +0 -0
- metadata +70 -2
@@ -0,0 +1,32 @@
|
|
1
|
+
# -*- coding: utf-8 -*-
|
2
|
+
require 'helper'
|
3
|
+
|
4
|
+
class TestRegressionDefinedName02 < Test::Unit::TestCase
|
5
|
+
def setup
|
6
|
+
setup_dir_var
|
7
|
+
end
|
8
|
+
|
9
|
+
def teardown
|
10
|
+
File.delete(@xlsx) if File.exist?(@xlsx)
|
11
|
+
end
|
12
|
+
|
13
|
+
def test_defined_name02
|
14
|
+
@xlsx = 'defined_name02.xlsx'
|
15
|
+
workbook = WriteXLSX.new(@xlsx)
|
16
|
+
worksheet1 = workbook.add_worksheet('sheet One')
|
17
|
+
|
18
|
+
workbook.define_name("Sales", "='sheet One'!$G$1:$H$10")
|
19
|
+
|
20
|
+
workbook.close
|
21
|
+
compare_xlsx_for_regression(
|
22
|
+
File.join(@regression_output, @xlsx),
|
23
|
+
@xlsx,
|
24
|
+
["xl/printerSettings/printerSettings1.bin",
|
25
|
+
"xl/worksheets/_rels/sheet1.xml.rels"],
|
26
|
+
{
|
27
|
+
'[Content_Types].xml' => ['<Default Extension="bin"'],
|
28
|
+
'xl/worksheets/sheet1.xml' => ['<pageMargins', '<pageSetup']
|
29
|
+
}
|
30
|
+
)
|
31
|
+
end
|
32
|
+
end
|
@@ -0,0 +1,32 @@
|
|
1
|
+
# -*- coding: utf-8 -*-
|
2
|
+
require 'helper'
|
3
|
+
|
4
|
+
class TestRegressionDefinedName03 < Test::Unit::TestCase
|
5
|
+
def setup
|
6
|
+
setup_dir_var
|
7
|
+
end
|
8
|
+
|
9
|
+
def teardown
|
10
|
+
File.delete(@xlsx) if File.exist?(@xlsx)
|
11
|
+
end
|
12
|
+
|
13
|
+
def test_defined_name03
|
14
|
+
@xlsx = 'defined_name03.xlsx'
|
15
|
+
workbook = WriteXLSX.new(@xlsx)
|
16
|
+
worksheet1 = workbook.add_worksheet('sheet One')
|
17
|
+
|
18
|
+
workbook.define_name("Sales", "='sheet One'!G1:H10")
|
19
|
+
|
20
|
+
workbook.close
|
21
|
+
compare_xlsx_for_regression(
|
22
|
+
File.join(@regression_output, @xlsx),
|
23
|
+
@xlsx,
|
24
|
+
["xl/printerSettings/printerSettings1.bin",
|
25
|
+
"xl/worksheets/_rels/sheet1.xml.rels"],
|
26
|
+
{
|
27
|
+
'[Content_Types].xml' => ['<Default Extension="bin"'],
|
28
|
+
'xl/worksheets/sheet1.xml' => ['<pageMargins', '<pageSetup']
|
29
|
+
}
|
30
|
+
)
|
31
|
+
end
|
32
|
+
end
|
@@ -0,0 +1,48 @@
|
|
1
|
+
# -*- coding: utf-8 -*-
|
2
|
+
require 'helper'
|
3
|
+
|
4
|
+
class TestRegressionFirstsheet01 < Test::Unit::TestCase
|
5
|
+
def setup
|
6
|
+
setup_dir_var
|
7
|
+
end
|
8
|
+
|
9
|
+
def teardown
|
10
|
+
File.delete(@xlsx) if File.exist?(@xlsx)
|
11
|
+
end
|
12
|
+
|
13
|
+
def test_firstsheet01
|
14
|
+
@xlsx = 'firstsheet01.xlsx'
|
15
|
+
workbook = WriteXLSX.new(@xlsx)
|
16
|
+
worksheet1 = workbook.add_worksheet
|
17
|
+
worksheet2 = workbook.add_worksheet
|
18
|
+
worksheet3 = workbook.add_worksheet
|
19
|
+
worksheet4 = workbook.add_worksheet
|
20
|
+
worksheet5 = workbook.add_worksheet
|
21
|
+
worksheet6 = workbook.add_worksheet
|
22
|
+
worksheet7 = workbook.add_worksheet
|
23
|
+
worksheet8 = workbook.add_worksheet
|
24
|
+
worksheet9 = workbook.add_worksheet
|
25
|
+
worksheet10 = workbook.add_worksheet
|
26
|
+
worksheet11 = workbook.add_worksheet
|
27
|
+
worksheet12 = workbook.add_worksheet
|
28
|
+
worksheet13 = workbook.add_worksheet
|
29
|
+
worksheet14 = workbook.add_worksheet
|
30
|
+
worksheet15 = workbook.add_worksheet
|
31
|
+
worksheet16 = workbook.add_worksheet
|
32
|
+
worksheet17 = workbook.add_worksheet
|
33
|
+
worksheet18 = workbook.add_worksheet
|
34
|
+
worksheet19 = workbook.add_worksheet
|
35
|
+
worksheet20 = workbook.add_worksheet
|
36
|
+
|
37
|
+
worksheet8.set_first_sheet
|
38
|
+
worksheet20.activate
|
39
|
+
|
40
|
+
workbook.close
|
41
|
+
compare_xlsx_for_regression(
|
42
|
+
File.join(@regression_output, @xlsx),
|
43
|
+
@xlsx,
|
44
|
+
[],
|
45
|
+
{}
|
46
|
+
)
|
47
|
+
end
|
48
|
+
end
|
@@ -0,0 +1,30 @@
|
|
1
|
+
# -*- coding: utf-8 -*-
|
2
|
+
require 'helper'
|
3
|
+
|
4
|
+
class TestRegressionHide01 < Test::Unit::TestCase
|
5
|
+
def setup
|
6
|
+
setup_dir_var
|
7
|
+
end
|
8
|
+
|
9
|
+
def teardown
|
10
|
+
File.delete(@xlsx) if File.exist?(@xlsx)
|
11
|
+
end
|
12
|
+
|
13
|
+
def test_hide01
|
14
|
+
@xlsx = 'hide01.xlsx'
|
15
|
+
workbook = WriteXLSX.new(@xlsx)
|
16
|
+
worksheet1 = workbook.add_worksheet
|
17
|
+
worksheet2 = workbook.add_worksheet
|
18
|
+
worksheet3 = workbook.add_worksheet
|
19
|
+
|
20
|
+
worksheet2.hide
|
21
|
+
|
22
|
+
workbook.close
|
23
|
+
compare_xlsx_for_regression(
|
24
|
+
File.join(@regression_output, @xlsx),
|
25
|
+
@xlsx,
|
26
|
+
[],
|
27
|
+
{}
|
28
|
+
)
|
29
|
+
end
|
30
|
+
end
|
@@ -0,0 +1,26 @@
|
|
1
|
+
# -*- coding: utf-8 -*-
|
2
|
+
require 'helper'
|
3
|
+
|
4
|
+
class TestRegressionImage08 < Test::Unit::TestCase
|
5
|
+
def setup
|
6
|
+
setup_dir_var
|
7
|
+
end
|
8
|
+
|
9
|
+
def teardown
|
10
|
+
File.delete(@xlsx) if File.exist?(@xlsx)
|
11
|
+
end
|
12
|
+
|
13
|
+
def test_image08
|
14
|
+
@xlsx = 'image08.xlsx'
|
15
|
+
workbook = WriteXLSX.new(@xlsx)
|
16
|
+
worksheet = workbook.add_worksheet
|
17
|
+
|
18
|
+
worksheet.insert_image('B3',
|
19
|
+
'test/regression/images/grey.png',
|
20
|
+
0, 0, 0.5, 0.5
|
21
|
+
)
|
22
|
+
|
23
|
+
workbook.close
|
24
|
+
compare_xlsx_for_regression(File.join(@regression_output, @xlsx), @xlsx)
|
25
|
+
end
|
26
|
+
end
|
@@ -0,0 +1,28 @@
|
|
1
|
+
# -*- coding: utf-8 -*-
|
2
|
+
require 'helper'
|
3
|
+
|
4
|
+
class TestRegressionProtect01 < Test::Unit::TestCase
|
5
|
+
def setup
|
6
|
+
setup_dir_var
|
7
|
+
end
|
8
|
+
|
9
|
+
def teardown
|
10
|
+
File.delete(@xlsx) if File.exist?(@xlsx)
|
11
|
+
end
|
12
|
+
|
13
|
+
def test_protect01
|
14
|
+
@xlsx = 'protect01.xlsx'
|
15
|
+
workbook = WriteXLSX.new(@xlsx)
|
16
|
+
worksheet = workbook.add_worksheet
|
17
|
+
|
18
|
+
unlocked = workbook.add_format(:locked => 0, :hidden => 0)
|
19
|
+
hidden = workbook.add_format(:locked => 0, :hidden => 1)
|
20
|
+
|
21
|
+
worksheet.write('A1', 1)
|
22
|
+
worksheet.write('A2', 2, unlocked)
|
23
|
+
worksheet.write('A3', 3, hidden)
|
24
|
+
|
25
|
+
workbook.close
|
26
|
+
compare_xlsx_for_regression(File.join(@regression_output, @xlsx), @xlsx)
|
27
|
+
end
|
28
|
+
end
|
@@ -0,0 +1,30 @@
|
|
1
|
+
# -*- coding: utf-8 -*-
|
2
|
+
require 'helper'
|
3
|
+
|
4
|
+
class TestRegressionProtect02 < Test::Unit::TestCase
|
5
|
+
def setup
|
6
|
+
setup_dir_var
|
7
|
+
end
|
8
|
+
|
9
|
+
def teardown
|
10
|
+
File.delete(@xlsx) if File.exist?(@xlsx)
|
11
|
+
end
|
12
|
+
|
13
|
+
def test_protect02
|
14
|
+
@xlsx = 'protect02.xlsx'
|
15
|
+
workbook = WriteXLSX.new(@xlsx)
|
16
|
+
worksheet = workbook.add_worksheet
|
17
|
+
|
18
|
+
unlocked = workbook.add_format(:locked => 0, :hidden => 0)
|
19
|
+
hidden = workbook.add_format(:locked => 0, :hidden => 1)
|
20
|
+
|
21
|
+
worksheet.protect
|
22
|
+
|
23
|
+
worksheet.write('A1', 1)
|
24
|
+
worksheet.write('A2', 2, unlocked)
|
25
|
+
worksheet.write('A3', 3, hidden)
|
26
|
+
|
27
|
+
workbook.close
|
28
|
+
compare_xlsx_for_regression(File.join(@regression_output, @xlsx), @xlsx)
|
29
|
+
end
|
30
|
+
end
|
@@ -0,0 +1,30 @@
|
|
1
|
+
# -*- coding: utf-8 -*-
|
2
|
+
require 'helper'
|
3
|
+
|
4
|
+
class TestRegressionProtect03 < Test::Unit::TestCase
|
5
|
+
def setup
|
6
|
+
setup_dir_var
|
7
|
+
end
|
8
|
+
|
9
|
+
def teardown
|
10
|
+
File.delete(@xlsx) if File.exist?(@xlsx)
|
11
|
+
end
|
12
|
+
|
13
|
+
def test_protect03
|
14
|
+
@xlsx = 'protect03.xlsx'
|
15
|
+
workbook = WriteXLSX.new(@xlsx)
|
16
|
+
worksheet = workbook.add_worksheet
|
17
|
+
|
18
|
+
unlocked = workbook.add_format(:locked => 0, :hidden => 0)
|
19
|
+
hidden = workbook.add_format(:locked => 0, :hidden => 1)
|
20
|
+
|
21
|
+
worksheet.protect('password')
|
22
|
+
|
23
|
+
worksheet.write('A1', 1)
|
24
|
+
worksheet.write('A2', 2, unlocked)
|
25
|
+
worksheet.write('A3', 3, hidden)
|
26
|
+
|
27
|
+
workbook.close
|
28
|
+
compare_xlsx_for_regression(File.join(@regression_output, @xlsx), @xlsx)
|
29
|
+
end
|
30
|
+
end
|
@@ -0,0 +1,36 @@
|
|
1
|
+
# -*- coding: utf-8 -*-
|
2
|
+
require 'helper'
|
3
|
+
|
4
|
+
class TestRegressionSetPrintScale01 < Test::Unit::TestCase
|
5
|
+
def setup
|
6
|
+
setup_dir_var
|
7
|
+
end
|
8
|
+
|
9
|
+
def teardown
|
10
|
+
File.delete(@xlsx) if File.exist?(@xlsx)
|
11
|
+
end
|
12
|
+
|
13
|
+
def test_set_print_scale01
|
14
|
+
@xlsx = 'set_print_scale01.xlsx'
|
15
|
+
workbook = WriteXLSX.new(@xlsx)
|
16
|
+
worksheet = workbook.add_worksheet
|
17
|
+
|
18
|
+
worksheet.print_scale = 110
|
19
|
+
worksheet.paper = 9
|
20
|
+
|
21
|
+
worksheet.write('A1', 'Foo')
|
22
|
+
|
23
|
+
workbook.close
|
24
|
+
compare_xlsx_for_regression(File.join(@regression_output, @xlsx), @xlsx,
|
25
|
+
[
|
26
|
+
'xl/printerSettings/printerSettings1.bin',
|
27
|
+
'xl/worksheets/_rels/sheet1.xml.rels'
|
28
|
+
],
|
29
|
+
{
|
30
|
+
'[Content_Types].xml' => ['<Default Extension="bin"'],
|
31
|
+
'xl/worksheets/sheet1.xml' => ['<pageMargins']
|
32
|
+
|
33
|
+
}
|
34
|
+
)
|
35
|
+
end
|
36
|
+
end
|
@@ -0,0 +1,36 @@
|
|
1
|
+
# -*- coding: utf-8 -*-
|
2
|
+
require 'helper'
|
3
|
+
|
4
|
+
class TestRegressionSetStartPage01 < Test::Unit::TestCase
|
5
|
+
def setup
|
6
|
+
setup_dir_var
|
7
|
+
end
|
8
|
+
|
9
|
+
def teardown
|
10
|
+
File.delete(@xlsx) if File.exist?(@xlsx)
|
11
|
+
end
|
12
|
+
|
13
|
+
def test_set_start_page01
|
14
|
+
@xlsx = 'set_start_page01.xlsx'
|
15
|
+
workbook = WriteXLSX.new(@xlsx)
|
16
|
+
worksheet = workbook.add_worksheet
|
17
|
+
|
18
|
+
worksheet.start_page = 1
|
19
|
+
worksheet.paper = 9
|
20
|
+
|
21
|
+
worksheet.write('A1', 'Foo')
|
22
|
+
|
23
|
+
workbook.close
|
24
|
+
compare_xlsx_for_regression(File.join(@regression_output, @xlsx), @xlsx,
|
25
|
+
[
|
26
|
+
'xl/printerSettings/printerSettings1.bin',
|
27
|
+
'xl/worksheets/_rels/sheet1.xml.rels'
|
28
|
+
],
|
29
|
+
{
|
30
|
+
'[Content_Types].xml' => ['<Default Extension="bin"'],
|
31
|
+
'xl/worksheets/sheet1.xml' => ['<pageMargins']
|
32
|
+
|
33
|
+
}
|
34
|
+
)
|
35
|
+
end
|
36
|
+
end
|
@@ -0,0 +1,39 @@
|
|
1
|
+
# -*- coding: utf-8 -*-
|
2
|
+
require 'helper'
|
3
|
+
|
4
|
+
class TestRegressionSimple03 < Test::Unit::TestCase
|
5
|
+
def setup
|
6
|
+
setup_dir_var
|
7
|
+
end
|
8
|
+
|
9
|
+
def teardown
|
10
|
+
File.delete(@xlsx) if File.exist?(@xlsx)
|
11
|
+
end
|
12
|
+
|
13
|
+
def test_simple03
|
14
|
+
@xlsx = 'simple03.xlsx'
|
15
|
+
workbook = WriteXLSX.new(@xlsx)
|
16
|
+
worksheet1 = workbook.add_worksheet
|
17
|
+
worksheet2 = workbook.add_worksheet('Data Sheet')
|
18
|
+
worksheet3 = workbook.add_worksheet
|
19
|
+
|
20
|
+
bold = workbook.add_format(:bold => 1)
|
21
|
+
|
22
|
+
worksheet1.write('A1', 'Foo')
|
23
|
+
worksheet1.write('A2', 123)
|
24
|
+
|
25
|
+
worksheet3.write('B2', 'Foo')
|
26
|
+
worksheet3.write('B3', 'Bar', bold)
|
27
|
+
worksheet3.write('C4', 234)
|
28
|
+
|
29
|
+
# This should be overridden by the worksheet3 call below.
|
30
|
+
worksheet2.activate
|
31
|
+
|
32
|
+
worksheet2.select
|
33
|
+
worksheet3.select
|
34
|
+
worksheet3.activate
|
35
|
+
|
36
|
+
workbook.close
|
37
|
+
compare_xlsx_for_regression(File.join(@regression_output, @xlsx), @xlsx)
|
38
|
+
end
|
39
|
+
end
|
@@ -0,0 +1,29 @@
|
|
1
|
+
# -*- coding: utf-8 -*-
|
2
|
+
require 'helper'
|
3
|
+
|
4
|
+
class TestRegressionSimple04 < Test::Unit::TestCase
|
5
|
+
def setup
|
6
|
+
setup_dir_var
|
7
|
+
end
|
8
|
+
|
9
|
+
def teardown
|
10
|
+
File.delete(@xlsx) if File.exist?(@xlsx)
|
11
|
+
end
|
12
|
+
|
13
|
+
def test_simple04
|
14
|
+
@xlsx = 'simple04.xlsx'
|
15
|
+
workbook = WriteXLSX.new(@xlsx)
|
16
|
+
worksheet = workbook.add_worksheet
|
17
|
+
|
18
|
+
worksheet.set_column(0, 0, 12)
|
19
|
+
|
20
|
+
format1 = workbook.add_format(:num_format => 20)
|
21
|
+
format2 = workbook.add_format(:num_format => 14)
|
22
|
+
|
23
|
+
worksheet.write_date_time(0, 0, 'T12:00', format1)
|
24
|
+
worksheet.write_date_time(1, 0, '2013-01-27T', format2)
|
25
|
+
|
26
|
+
workbook.close
|
27
|
+
compare_xlsx_for_regression(File.join(@regression_output, @xlsx), @xlsx)
|
28
|
+
end
|
29
|
+
end
|
@@ -0,0 +1,40 @@
|
|
1
|
+
# -*- coding: utf-8 -*-
|
2
|
+
require 'helper'
|
3
|
+
|
4
|
+
class TestRegressionSimple05 < Test::Unit::TestCase
|
5
|
+
def setup
|
6
|
+
setup_dir_var
|
7
|
+
end
|
8
|
+
|
9
|
+
def teardown
|
10
|
+
File.delete(@xlsx) if File.exist?(@xlsx)
|
11
|
+
end
|
12
|
+
|
13
|
+
def test_simple05
|
14
|
+
@xlsx = 'simple05.xlsx'
|
15
|
+
workbook = WriteXLSX.new(@xlsx)
|
16
|
+
worksheet = workbook.add_worksheet
|
17
|
+
|
18
|
+
worksheet.set_row(5, 18)
|
19
|
+
worksheet.set_row(6, 18)
|
20
|
+
|
21
|
+
format1 = workbook.add_format(:bold => 1)
|
22
|
+
format2 = workbook.add_format(:italic => 1)
|
23
|
+
format3 = workbook.add_format(:bold => 1, :italic => 1)
|
24
|
+
format4 = workbook.add_format(:underline => 1)
|
25
|
+
format5 = workbook.add_format(:font_strikeout => 1)
|
26
|
+
format6 = workbook.add_format(:font_script => 1)
|
27
|
+
format7 = workbook.add_format(:font_script => 2)
|
28
|
+
|
29
|
+
worksheet.write_string(0, 0, 'Foo', format1)
|
30
|
+
worksheet.write_string(1, 0, 'Foo', format2)
|
31
|
+
worksheet.write_string(2, 0, 'Foo', format3)
|
32
|
+
worksheet.write_string(3, 0, 'Foo', format4)
|
33
|
+
worksheet.write_string(4, 0, 'Foo', format5)
|
34
|
+
worksheet.write_string(5, 0, 'Foo', format6)
|
35
|
+
worksheet.write_string(6, 0, 'Foo', format7)
|
36
|
+
|
37
|
+
workbook.close
|
38
|
+
compare_xlsx_for_regression(File.join(@regression_output, @xlsx), @xlsx)
|
39
|
+
end
|
40
|
+
end
|