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
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
##
# all_features_shorthand.csvpp
#
# All features supported by csv++, using short-hand notation where possible.
#
---
border , ,
,[[b=t]] b=t ,
,[[b=r]] b=r ,
,[[b=b]] b=b ,
,[[b=l]] b=l ,
,[[b=a]] b=a ,
, ,
borderstyle , ,
,[[b=all/bs=dashed]] b=all/bs=dashed ,
,[[b=all/bs=solid]] b=all/bs=solid ,
, ,
color , ,
,[[c=FF0000]] c=FF0000 ,
,[[c=ABC]] c=ABC ,
, ,
fill , ,
![[f=3]] , f=3 ,
, ,
fontcolor , ,
,[[fc=FF0000]] fc=FF0000 ,
,[[fc=ABC]] fc=ABC ,
, ,
fontfamily , ,
,[[ff='Comic Sans Ms']] ff='Comic Sans MS' ,
,[[ff='Helvetica']] ff='Helvetica' ,
, ,
fontsize , ,
,[[fs=20]] fs=20 ,
,[[fs=4]] fs=4 ,
, ,
halign , ,
,[[ha=l]] ha=l ,
,[[ha=c]] ha=c ,
,[[ha=r]] ha=r ,
, ,
note , ,
,[[n='this is a note']] n='this is a note' ,
, ,
numberformat , ,
,[[nf=currency]] nf=currency ,[[nf=currency]]123456
,[[nf=date]] nf=date ,[[nf=date]]123456
,[[nf=datetime]] nf=datetime ,[[nf=datetime]]123456
,[[nf=number]] nf=number ,[[nf=number]]123456
,[[nf=percent]] nf=percent ,[[nf=percent]]123456
,[[nf=text]] nf=text ,[[nf=text]]123456
,[[nf=time]] nf=time ,[[nf=time]]123456
,[[nf=scientific]] nf=scientific ,[[nf=scientific]]123456
, ,
text , ,
,[[t=b]] t=b ,
,[[t=i]] t=i ,
,[[t=u]] t=u ,
,[[t=s]] t=s ,
, ,
validate ,
validate=c(TRUE) ,[[validate=c(TRUE)]]TRUE
validate=date_gt(2025-09-08) ,[[validate=date_gt(2025-09-08)]] 2026-09-07
validate=date_gte(1/2/23) ,[[validate=date_gte(1/2/23)]] 1/2/2023
validate=date_lt(2024-10-10) ,[[validate=date_lt(2024-10-10)]] 2021-01-01
validate=date_lte(11/2/24) ,[[validate=date_lte(11/2/24)]] 11/2/2022
validate=date_btwn(2/4/2025 10/20/2026) ,[[validate=date_btwn(2/4/2025 10/20/2026)]] =1/1/26
validate=date_eq(1/2/23) ,[[validate=date_eq(1/2/23)]] =1/2/23
validate=in_list(1 2 3 foo) ,[[validate=in_list(1 2 3 foo)]] =1
validate=in_range(A1) ,[[validate=in_range(A1)]] border
validate=date_is_valid ,[[validate=is_date]] 2026-01-01
validate=is_email ,[[validate=is_email]] test@test.com
validate=is_url ,[[validate=is_url]] http://test.com
validate=date_nbtwn(4/5/2022 2022-05-04) ,[[validate=date_nbtwn(4/5/2022 2022-05-04)]] 04/25/2022
validate=num_btwn(5 10) ,[[validate=num_btwn(5 10)]] =8
validate=num_eq(5) ,[[validate=num_eq(5)]] =5
validate=num_gt(21) ,[[validate=num_gt(21)]] =22
validate=num_gte(23) ,[[validate=num_gte(23)]] =24
validate=num_lt(23) ,[[validate=num_lt(23)]] =21
validate=num_lte(42) ,[[validate=num_lte(42)]] =23
validate=num_nbtwn(1 20) ,[[validate=num_nbtwn(1 20)]] =12
validate=num_neq(42) ,[[validate=num_neq(42)]] =123
validate=text_contains('foo') ,[[validate=text_contains('foo')]] foo bar baz
validate=text_does_not_contain('foo') ,[[validate=text_does_not_contain('foo')]] bar
validate=text_equal_to('foo') ,[[validate=text_equal_to('foo')]] foo
, ,
valign , ,
,[[va=top]] va=top ,
,[[va=center]] va=center ,
,[[va=bottom]] va=bottom ,