blob: c37b596ab7d31f01dbd78f8165b9b86e6931f2a4 (
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
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
|
# encoding: UTF-8
module Axlsx
# XML Encoding
ENCODING = "UTF-8"
# spreadsheetML namespace
XML_NS = "http://schemas.openxmlformats.org/spreadsheetml/2006/main"
# content-types namespace
XML_NS_T = "http://schemas.openxmlformats.org/package/2006/content-types"
# extended-properties namespace
APP_NS = "http://schemas.openxmlformats.org/officeDocument/2006/extended-properties"
# doc props namespace
APP_NS_VT = "http://schemas.openxmlformats.org/officeDocument/2006/docPropsVTypes"
# core properties namespace
CORE_NS = "http://schemas.openxmlformats.org/package/2006/metadata/core-properties"
# dc elements (core) namespace
CORE_NS_DC = "http://purl.org/dc/elements/1.1/"
# dcmit (core) namespcace
CORE_NS_DCMIT = "http://purl.org/dc/dcmitype/"
# dc terms namespace
CORE_NS_DCT = "http://purl.org/dc/terms/"
# xml schema namespace
CORE_NS_XSI = "http://www.w3.org/2001/XMLSchema-instance"
# spreadsheet drawing namespace
XML_NS_XDR = "http://schemas.openxmlformats.org/drawingml/2006/spreadsheetDrawing"
# drawing namespace
XML_NS_A = "http://schemas.openxmlformats.org/drawingml/2006/main"
# chart namespace
XML_NS_C = "http://schemas.openxmlformats.org/drawingml/2006/chart"
# relationships namespace
XML_NS_R = "http://schemas.openxmlformats.org/officeDocument/2006/relationships"
# relationships name space
RELS_R = "http://schemas.openxmlformats.org/package/2006/relationships"
# table rels namespace
TABLE_R = "http://schemas.openxmlformats.org/officeDocument/2006/relationships/table"
# workbook rels namespace
WORKBOOK_R = "http://schemas.openxmlformats.org/officeDocument/2006/relationships/officeDocument"
# worksheet rels namespace
WORKSHEET_R = "http://schemas.openxmlformats.org/officeDocument/2006/relationships/worksheet"
# app rels namespace
APP_R = "http://schemas.openxmlformats.org/officeDocument/2006/relationships/extended-properties"
# core rels namespace
CORE_R = "http://schemas.openxmlformats.org/officeDocument/2006/relationships/metadata/core-properties"
# styles rels namespace
STYLES_R = "http://schemas.openxmlformats.org/officeDocument/2006/relationships/styles"
# shared strings namespace
SHARED_STRINGS_R = "http://schemas.openxmlformats.org/officeDocument/2006/relationships/sharedStrings"
# drawing rels namespace
DRAWING_R = "http://schemas.openxmlformats.org/officeDocument/2006/relationships/drawing"
# chart rels namespace
CHART_R = "http://schemas.openxmlformats.org/officeDocument/2006/relationships/chart"
# image rels namespace
IMAGE_R = "http://schemas.openxmlformats.org/officeDocument/2006/relationships/image"
# image rels namespace
HYPERLINK_R = "http://schemas.openxmlformats.org/officeDocument/2006/relationships/hyperlink"
# table content type
TABLE_CT = "application/vnd.openxmlformats-officedocument.spreadsheetml.table+xml"
# workbook content type
WORKBOOK_CT = "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet.main+xml"
# app content type
APP_CT = "application/vnd.openxmlformats-officedocument.extended-properties+xml"
# rels content type
RELS_CT = "application/vnd.openxmlformats-package.relationships+xml"
# styles content type
STYLES_CT = "application/vnd.openxmlformats-officedocument.spreadsheetml.styles+xml"
# xml content type
XML_CT = "application/xml"
# worksheet content type
WORKSHEET_CT = "application/vnd.openxmlformats-officedocument.spreadsheetml.worksheet+xml"
# shared strings content type
SHARED_STRINGS_CT = "application/vnd.openxmlformats-officedocument.spreadsheetml.sharedStrings+xml"
# core content type
CORE_CT = "application/vnd.openxmlformats-package.core-properties+xml"
# chart content type
CHART_CT = "application/vnd.openxmlformats-officedocument.drawingml.chart+xml"
# jpeg content type
JPEG_CT = "image/jpeg"
# gif content type
GIF_CT = "image/gif"
# png content type
PNG_CT = "image/png"
#drawing content type
DRAWING_CT = "application/vnd.openxmlformats-officedocument.drawing+xml"
# xml content type extensions
XML_EX = "xml"
# jpeg extension
JPEG_EX = "jpeg"
# gif extension
GIF_EX = "gif"
# png extension
PNG_EX = "png"
# rels content type extension
RELS_EX = "rels"
# workbook part
WORKBOOK_PN = "xl/workbook.xml"
# styles part
STYLES_PN = "styles.xml"
# shared_strings part
SHARED_STRINGS_PN = "sharedStrings.xml"
# app part
APP_PN = "docProps/app.xml"
# core part
CORE_PN = "docProps/core.xml"
# content types part
CONTENT_TYPES_PN = "[Content_Types].xml"
# rels part
RELS_PN = "_rels/.rels"
# workbook rels part
WORKBOOK_RELS_PN = "xl/_rels/workbook.xml.rels"
# worksheet part
WORKSHEET_PN = "worksheets/sheet%d.xml"
# worksheet rels part
WORKSHEET_RELS_PN = "worksheets/_rels/sheet%d.xml.rels"
# drawing part
DRAWING_PN = "drawings/drawing%d.xml"
# drawing rels part
DRAWING_RELS_PN = "drawings/_rels/drawing%d.xml.rels"
# drawing part
TABLE_PN = "tables/table%d.xml"
# chart part
CHART_PN = "charts/chart%d.xml"
# chart part
IMAGE_PN = "media/image%d.%s"
# location of schema files for validation
SCHEMA_BASE = File.dirname(__FILE__)+'/../../schema/'
# App validation schema
APP_XSD = SCHEMA_BASE + "shared-documentPropertiesExtended.xsd"
# core validation schema
CORE_XSD = SCHEMA_BASE + "opc-coreProperties.xsd"
# content types validation schema
CONTENT_TYPES_XSD = SCHEMA_BASE + "opc-contentTypes.xsd"
# rels validation schema
RELS_XSD = SCHEMA_BASE + "opc-relationships.xsd"
# spreadsheetML validation schema
SML_XSD = SCHEMA_BASE + "sml.xsd"
# drawing validation schema
DRAWING_XSD = SCHEMA_BASE + "dml-spreadsheetDrawing.xsd"
# number format id for pecentage formatting using the default formatting id.
NUM_FMT_PERCENT = 9
# number format id for date format like 2011/11/13
NUM_FMT_YYYYMMDD = 100
# number format id for time format the creates 2011/11/13 12:23:10
NUM_FMT_YYYYMMDDHHMMSS = 101
# cellXfs id for thin borders around the cell
STYLE_THIN_BORDER = 1
# cellXfs id for default date styling
STYLE_DATE = 2
# error messages RestrictionValidor
ERR_RESTRICTION = "Invalid Data: %s. %s must be one of %s."
# error message DataTypeValidator
ERR_TYPE = "Invalid Data %s for %s. must be %s."
# error message for RegexValidator
ERR_REGEX = "Invalid Data. %s does not match %s."
# error message for sheets that use a name which is longer than 31 bytes
ERR_SHEET_NAME_TOO_LONG = "Your worksheet name '%s' is too long. Worksheet names must be 31 characters (bytes) or less"
# error message for duplicate sheet names
ERR_DUPLICATE_SHEET_NAME = "There is already a worksheet in this workbook named '%s'. Please use a unique name"
end
|