-
Notifications
You must be signed in to change notification settings - Fork 65
/
Copy pathshape6.rb
executable file
·47 lines (37 loc) · 1.25 KB
/
shape6.rb
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
#!/usr/bin/env ruby
# -*- coding: utf-8 -*-
#######################################################################
#
# A simple example of how to use the WriteXLSX gem to
# add shapes (objects and right/left connectors) to an Excel xlsx file.
#
# reverse('c'), May 2012, John McNamara, [email protected]
# converted to Ruby by Hideo NAKAMURA, [email protected]
#
require 'write_xlsx'
workbook = WriteXLSX.new('shape6.xlsx')
worksheet = workbook.add_worksheet
s1 = workbook.add_shape(
type: 'chevron',
width: 60,
height: 60
)
worksheet.insert_shape('A1', s1, 50, 50)
s2 = workbook.add_shape(
type: 'pentagon',
width: 20,
height: 20
)
worksheet.insert_shape('A1', s2, 250, 200)
# Create a connector to link the two shapes.
cxn_shape = workbook.add_shape(type: 'curvedConnector3')
# Link the start of the connector to the right side.
cxn_shape.start = s1.id
cxn_shape.start_index = 2 # 2nd connection pt, clockwise from top(0).
cxn_shape.start_side = 'r' # r)ight or b)ottom.
# Link the end of the connector to the left side.
cxn_shape.end = s2.id
cxn_shape.end_index = 4 # 4th connection pt, clockwise from top(0).
cxn_shape.end_side = 'l' # l)eft or t)op.
worksheet.insert_shape('A1', cxn_shape, 0, 0)
workbook.close