summaryrefslogtreecommitdiffhomepage
path: root/examples/data_validation.rb
blob: b95a639792165912b235c439403fef92f29fc1f7 (plain)
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
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
#!/usr/bin/env ruby -w -s
# -*- coding: utf-8 -*-
$LOAD_PATH.unshift "#{File.dirname(__FILE__)}/../lib"
require 'axlsx'

p = Axlsx::Package.new
p.workbook.add_worksheet do |ws|

  ws.add_row ["between", "lessThan", "bound list", "raw list"]

  4.times do |i|
    ws.add_row [nil, nil, nil, nil, (i+1) * 2]
  end

  ws.add_data_validation("A2:A5", {
    :type => :whole,
    :operator => :between,
   :formula1 => '5',
    :formula2 => '10',
    :showErrorMessage => true,
    :errorTitle => 'Wrong input',
    :error => 'Only values between 5 and 10',
    :errorStyle => :information,
    :showInputMessage => true,
    :promptTitle => 'Be careful!',
    :prompt => %{We really want a value between 5 and 10,
but it is OK if you want to break the rules.
}})

 ws.add_data_validation("B1:B5", {
   :type => :textLength,
   :operator => :lessThan,
   :formula1 => '10',
   :showErrorMessage => true,
   :errorTitle => 'Text is too long',
   :error => 'Max text length is 10 characters',
   :errorStyle => :stop,
   :showInputMessage => true,
   :promptTitle => 'Text length',
   :prompt => 'Max text length is 10 characters'})

  ws.add_data_validation("C2:C5", {
   :type => :list,
   :formula1 => 'E2:E5',
   :showDropDown => false,
   :showErrorMessage => true,
   :errorTitle => '',
   :error => 'Only values from E2:E5',
   :errorStyle => :stop,
   :showInputMessage => true,
   :promptTitle => '',
   :prompt => 'Only values from E2:E5'})

  ws.add_data_validation("D2:D5", {
    :type => :list,
    :formula1 => '"Red, Orange, NavyBlue"',
    :showDropDown => false,
    :showErrorMessage => true,
    :errorTitle => '',
    :error => 'Please use the dropdown selector to choose the value',
    :errorStyle => :stop,
    :showInputMessage => true,
    :prompt => '& Choose the value from the dropdown'})

end

p.serialize 'data_validation.xlsx'