Module: Axlsx
- Defined in:
- lib/axlsx.rb,
lib/axlsx/package.rb,
lib/axlsx/version.rb,
lib/axlsx/drawing/pic.rb,
lib/axlsx/util/parser.rb,
lib/axlsx/drawing/axis.rb,
lib/axlsx/util/storage.rb,
lib/axlsx/doc_props/app.rb,
lib/axlsx/drawing/chart.rb,
lib/axlsx/drawing/title.rb,
lib/axlsx/stylesheet/xf.rb,
lib/axlsx/doc_props/core.rb,
lib/axlsx/drawing/d_lbls.rb,
lib/axlsx/drawing/marker.rb,
lib/axlsx/drawing/series.rb,
lib/axlsx/stylesheet/dxf.rb,
lib/axlsx/util/accessors.rb,
lib/axlsx/util/constants.rb,
lib/axlsx/drawing/drawing.rb,
lib/axlsx/drawing/num_val.rb,
lib/axlsx/drawing/scaling.rb,
lib/axlsx/drawing/str_val.rb,
lib/axlsx/drawing/view_3D.rb,
lib/axlsx/stylesheet/fill.rb,
lib/axlsx/stylesheet/font.rb,
lib/axlsx/util/validators.rb,
lib/axlsx/drawing/cat_axis.rb,
lib/axlsx/drawing/num_data.rb,
lib/axlsx/drawing/ser_axis.rb,
lib/axlsx/drawing/str_data.rb,
lib/axlsx/drawing/val_axis.rb,
lib/axlsx/stylesheet/color.rb,
lib/axlsx/drawing/hyperlink.rb,
lib/axlsx/drawing/vml_shape.rb,
lib/axlsx/rels/relationship.rb,
lib/axlsx/stylesheet/border.rb,
lib/axlsx/stylesheet/styles.rb,
lib/axlsx/workbook/workbook.rb,
lib/axlsx/drawing/bar_series.rb,
lib/axlsx/drawing/pie_series.rb,
lib/axlsx/rels/relationships.rb,
lib/axlsx/stylesheet/num_fmt.rb,
lib/axlsx/drawing/line_series.rb,
lib/axlsx/drawing/vml_drawing.rb,
lib/axlsx/util/options_parser.rb,
lib/axlsx/content_type/default.rb,
lib/axlsx/drawing/bar_3D_chart.rb,
lib/axlsx/drawing/pie_3D_chart.rb,
lib/axlsx/drawing/series_title.rb,
lib/axlsx/stylesheet/border_pr.rb,
lib/axlsx/content_type/override.rb,
lib/axlsx/drawing/graphic_frame.rb,
lib/axlsx/drawing/line_3D_chart.rb,
lib/axlsx/drawing/scatter_chart.rb,
lib/axlsx/stylesheet/cell_style.rb,
lib/axlsx/workbook/defined_name.rb,
lib/axlsx/drawing/ax_data_source.rb,
lib/axlsx/drawing/scatter_series.rb,
lib/axlsx/stylesheet/table_style.rb,
lib/axlsx/util/simple_typed_list.rb,
lib/axlsx/workbook/defined_names.rb,
lib/axlsx/workbook/worksheet/col.rb,
lib/axlsx/workbook/worksheet/row.rb,
lib/axlsx/drawing/num_data_source.rb,
lib/axlsx/drawing/one_cell_anchor.rb,
lib/axlsx/drawing/picture_locking.rb,
lib/axlsx/drawing/two_cell_anchor.rb,
lib/axlsx/stylesheet/pattern_fill.rb,
lib/axlsx/stylesheet/table_styles.rb,
lib/axlsx/workbook/worksheet/cell.rb,
lib/axlsx/workbook/worksheet/cfvo.rb,
lib/axlsx/workbook/worksheet/cols.rb,
lib/axlsx/workbook/worksheet/pane.rb,
lib/axlsx/stylesheet/gradient_fill.rb,
lib/axlsx/stylesheet/gradient_stop.rb,
lib/axlsx/workbook/worksheet/cfvos.rb,
lib/axlsx/workbook/worksheet/table.rb,
lib/axlsx/content_type/content_type.rb,
lib/axlsx/stylesheet/cell_alignment.rb,
lib/axlsx/workbook/worksheet/tables.rb,
lib/axlsx/stylesheet/cell_protection.rb,
lib/axlsx/util/serialized_attributes.rb,
lib/axlsx/workbook/worksheet/comment.rb,
lib/axlsx/workbook/worksheet/comments.rb,
lib/axlsx/workbook/worksheet/data_bar.rb,
lib/axlsx/workbook/worksheet/icon_set.rb,
lib/axlsx/workbook/worksheet/sheet_pr.rb,
lib/axlsx/workbook/worksheet/dimension.rb,
lib/axlsx/workbook/worksheet/selection.rb,
lib/axlsx/workbook/worksheet/worksheet.rb,
lib/axlsx/workbook/shared_strings_table.rb,
lib/axlsx/workbook/worksheet/page_setup.rb,
lib/axlsx/workbook/worksheet/sheet_data.rb,
lib/axlsx/workbook/worksheet/sheet_view.rb,
lib/axlsx/stylesheet/table_style_element.rb,
lib/axlsx/workbook/worksheet/color_scale.rb,
lib/axlsx/workbook/worksheet/merged_cells.rb,
lib/axlsx/workbook/worksheet/page_margins.rb,
lib/axlsx/workbook/worksheet/print_options.rb,
lib/axlsx/workbook/worksheet/sheet_calc_pr.rb,
lib/axlsx/workbook/worksheet/page_set_up_pr.rb,
lib/axlsx/content_type/abstract_content_type.rb,
lib/axlsx/workbook/worksheet/data_validation.rb,
lib/axlsx/workbook/worksheet/protected_range.rb,
lib/axlsx/workbook/worksheet/data_validations.rb,
lib/axlsx/workbook/worksheet/protected_ranges.rb,
lib/axlsx/workbook/worksheet/sheet_protection.rb,
lib/axlsx/workbook/worksheet/table_style_info.rb,
lib/axlsx/workbook/worksheet/worksheet_drawing.rb,
lib/axlsx/workbook/worksheet/worksheet_comments.rb,
lib/axlsx/workbook/worksheet/auto_filter/filters.rb,
lib/axlsx/workbook/worksheet/date_time_converter.rb,
lib/axlsx/workbook/worksheet/worksheet_hyperlink.rb,
lib/axlsx/workbook/worksheet/worksheet_hyperlinks.rb,
lib/axlsx/workbook/worksheet/conditional_formatting.rb,
lib/axlsx/workbook/worksheet/auto_filter/auto_filter.rb,
lib/axlsx/workbook/worksheet/conditional_formattings.rb,
lib/axlsx/workbook/worksheet/auto_filter/filter_column.rb,
lib/axlsx/workbook/worksheet/conditional_formatting_rule.rb
Overview
Defined Under Namespace
Modules: Accessors, OptionsParser, Parser, SerializedAttributes Classes: AbstractContentType, App, AutoFilter, AxDataSource, Axis, Bar3DChart, BarSeries, Border, BorderPr, CatAxis, Cell, CellAlignment, CellProtection, CellStyle, Cfvo, Cfvos, Chart, Col, Color, ColorScale, Cols, Comment, Comments, ConditionalFormatting, ConditionalFormattingRule, ConditionalFormattings, ContentType, Core, DLbls, DataBar, DataTypeValidator, DataValidation, DataValidations, DateTimeConverter, Default, DefinedName, DefinedNames, Dimension, Drawing, Dxf, Fill, FilterColumn, Filters, Font, GradientFill, GradientStop, GraphicFrame, Hyperlink, IconSet, Line3DChart, LineSeries, Marker, MergedCells, NumData, NumDataSource, NumFmt, NumVal, OneCellAnchor, Override, Package, PageMargins, PageSetUpPr, PageSetup, Pane, PatternFill, Pic, PictureLocking, Pie3DChart, PieSeries, PrintOptions, ProtectedRange, ProtectedRanges, RangeValidator, RegexValidator, Relationship, Relationships, RestrictionValidator, Row, Scaling, ScatterChart, ScatterSeries, Selection, SerAxis, Series, SeriesTitle, SharedStringsTable, SheetCalcPr, SheetData, SheetPr, SheetProtection, SheetView, Storage, StrData, StrVal, Styles, Table, TableStyle, TableStyleElement, TableStyleInfo, TableStyles, Tables, Title, TwoCellAnchor, ValAxis, View3D, VmlDrawing, VmlShape, Workbook, Worksheet, WorksheetComments, WorksheetDrawing, WorksheetHyperlink, WorksheetHyperlinks, Xf
Constant Summary collapse
- VERSION =
The current version
"1.3.3"
- ENCODING =
XML Encoding
"UTF-8"
- XML_NS =
spreadsheetML namespace
"http://schemas.openxmlformats.org/spreadsheetml/2006/main"
- XML_NS_T =
content-types namespace
"http://schemas.openxmlformats.org/package/2006/content-types"
- APP_NS =
extended-properties namespace
"http://schemas.openxmlformats.org/officeDocument/2006/extended-properties"
- APP_NS_VT =
doc props namespace
"http://schemas.openxmlformats.org/officeDocument/2006/docPropsVTypes"
- CORE_NS =
core properties namespace
"http://schemas.openxmlformats.org/package/2006/metadata/core-properties"
- CORE_NS_DC =
dc elements (core) namespace
"http://purl.org/dc/elements/1.1/"
- CORE_NS_DCMIT =
dcmit (core) namespcace
"http://purl.org/dc/dcmitype/"
- CORE_NS_DCT =
dc terms namespace
"http://purl.org/dc/terms/"
- CORE_NS_XSI =
xml schema namespace
"http://www.w3.org/2001/XMLSchema-instance"
- DIGITAL_SIGNATURE_NS =
Digital signature namespace
"http://schemas.openxmlformats.org/package/2006/digital-signature"
- XML_NS_XDR =
spreadsheet drawing namespace
"http://schemas.openxmlformats.org/drawingml/2006/spreadsheetDrawing"
- XML_NS_A =
drawing namespace
"http://schemas.openxmlformats.org/drawingml/2006/main"
- XML_NS_C =
chart namespace
"http://schemas.openxmlformats.org/drawingml/2006/chart"
- XML_NS_R =
relationships namespace
"http://schemas.openxmlformats.org/officeDocument/2006/relationships"
- RELS_R =
relationships name space
"http://schemas.openxmlformats.org/package/2006/relationships"
- TABLE_R =
table rels namespace
"http://schemas.openxmlformats.org/officeDocument/2006/relationships/table"
- WORKBOOK_R =
workbook rels namespace
"http://schemas.openxmlformats.org/officeDocument/2006/relationships/officeDocument"
- WORKSHEET_R =
worksheet rels namespace
"http://schemas.openxmlformats.org/officeDocument/2006/relationships/worksheet"
- APP_R =
app rels namespace
"http://schemas.openxmlformats.org/officeDocument/2006/relationships/extended-properties"
- CORE_R =
core rels namespace
"http://schemas.openxmlformats.org/officeDocument/2006/relationships/metadata/core-properties"
- DIGITAL_SIGNATURE_R =
digital signature rels namespace
"http://schemas.openxmlformats.org/package/2006/relationships/digital- signature/signature"
- STYLES_R =
styles rels namespace
"http://schemas.openxmlformats.org/officeDocument/2006/relationships/styles"
- SHARED_STRINGS_R =
shared strings namespace
"http://schemas.openxmlformats.org/officeDocument/2006/relationships/sharedStrings"
- DRAWING_R =
drawing rels namespace
"http://schemas.openxmlformats.org/officeDocument/2006/relationships/drawing"
- CHART_R =
chart rels namespace
"http://schemas.openxmlformats.org/officeDocument/2006/relationships/chart"
- IMAGE_R =
image rels namespace
"http://schemas.openxmlformats.org/officeDocument/2006/relationships/image"
- HYPERLINK_R =
hyperlink rels namespace
"http://schemas.openxmlformats.org/officeDocument/2006/relationships/hyperlink"
- COMMENT_R =
comment rels namespace
"http://schemas.openxmlformats.org/officeDocument/2006/relationships/comments"
- COMMENT_R_NULL =
comment relation for nil target
"http://purl.oclc.org/ooxml/officeDocument/relationships/comments"
- VML_DRAWING_R =
vml drawing relation namespace
'http://schemas.openxmlformats.org/officeDocument/2006/relationships/vmlDrawing'
- VML_DRAWING_CT =
VML Drawing content type
"application/vnd.openxmlformats-officedocument.vmlDrawing"
- TABLE_CT =
table content type
"application/vnd.openxmlformats-officedocument.spreadsheetml.table+xml"
- WORKBOOK_CT =
workbook content type
"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet.main+xml"
- APP_CT =
app content type
"application/vnd.openxmlformats-officedocument.extended-properties+xml"
- RELS_CT =
rels content type
"application/vnd.openxmlformats-package.relationships+xml"
- STYLES_CT =
styles content type
"application/vnd.openxmlformats-officedocument.spreadsheetml.styles+xml"
- XML_CT =
xml content type
"application/xml"
- WORKSHEET_CT =
worksheet content type
"application/vnd.openxmlformats-officedocument.spreadsheetml.worksheet+xml"
- SHARED_STRINGS_CT =
shared strings content type
"application/vnd.openxmlformats-officedocument.spreadsheetml.sharedStrings+xml"
- CORE_CT =
core content type
"application/vnd.openxmlformats-package.core-properties+xml"
- DIGITAL_SIGNATURE_XML_CT =
digital signature xml content type
"application/vnd.openxmlformats-package.digital-signature-xmlsignature+xml"
- DIGITAL_SIGNATURE_ORIGIN_CT =
digital signature origin content type
"application/vnd.openxmlformats-package.digital-signature-origin"
- DIGITAL_SIGNATURE_CERTIFICATE_CT =
digital signature certificate content type
"application/vnd.openxmlformats-package.digital-signature-certificate"
- CHART_CT =
chart content type
"application/vnd.openxmlformats-officedocument.drawingml.chart+xml"
- COMMENT_CT =
comments content type
"application/vnd.openxmlformats-officedocument.spreadsheetml.comments+xml"
- JPEG_CT =
jpeg content type
"image/jpeg"
- GIF_CT =
gif content type
"image/gif"
- PNG_CT =
png content type
"image/png"
- DRAWING_CT =
drawing content type
"application/vnd.openxmlformats-officedocument.drawing+xml"
- XML_EX =
xml content type extensions
"xml"
- JPEG_EX =
jpeg extension
"jpeg"
- GIF_EX =
gif extension
"gif"
- PNG_EX =
png extension
"png"
- RELS_EX =
rels content type extension
"rels"
- WORKBOOK_PN =
workbook part
"xl/workbook.xml"
- STYLES_PN =
styles part
"styles.xml"
- SHARED_STRINGS_PN =
shared_strings part
"sharedStrings.xml"
- APP_PN =
app part
"docProps/app.xml"
- CORE_PN =
core part
"docProps/core.xml"
- CONTENT_TYPES_PN =
content types part
"[Content_Types].xml"
- RELS_PN =
rels part
"_rels/.rels"
- WORKBOOK_RELS_PN =
workbook rels part
"xl/_rels/workbook.xml.rels"
- WORKSHEET_PN =
worksheet part
"worksheets/sheet%d.xml"
- WORKSHEET_RELS_PN =
worksheet rels part
"worksheets/_rels/sheet%d.xml.rels"
- DRAWING_PN =
drawing part
"drawings/drawing%d.xml"
- DRAWING_RELS_PN =
drawing rels part
"drawings/_rels/drawing%d.xml.rels"
- VML_DRAWING_PN =
vml drawing part
"drawings/vmlDrawing%d.vml"
- TABLE_PN =
drawing part
"tables/table%d.xml"
- CHART_PN =
chart part
"charts/chart%d.xml"
- IMAGE_PN =
chart part
"media/image%d.%s"
- COMMENT_PN =
comment part
"comments%d.xml"
- SCHEMA_BASE =
location of schema files for validation
File.dirname(__FILE__)+'/../../schema/'
- APP_XSD =
App validation schema
SCHEMA_BASE + "shared-documentPropertiesExtended.xsd"
- CORE_XSD =
core validation schema
SCHEMA_BASE + "opc-coreProperties.xsd"
- CONTENT_TYPES_XSD =
content types validation schema
SCHEMA_BASE + "opc-contentTypes.xsd"
- RELS_XSD =
rels validation schema
SCHEMA_BASE + "opc-relationships.xsd"
- SML_XSD =
spreadsheetML validation schema
SCHEMA_BASE + "sml.xsd"
- DRAWING_XSD =
drawing validation schema
SCHEMA_BASE + "dml-spreadsheetDrawing.xsd"
- NUM_FMT_PERCENT =
number format id for pecentage formatting using the default formatting id.
9
- NUM_FMT_YYYYMMDD =
number format id for date format like 2011/11/13
100
- NUM_FMT_YYYYMMDDHHMMSS =
number format id for time format the creates 2011/11/13 12:23:10
101
- STYLE_THIN_BORDER =
cellXfs id for thin borders around the cell
1
- STYLE_DATE =
cellXfs id for default date styling
2
- ERR_RESTRICTION =
error messages RestrictionValidor
"Invalid Data: %s. %s must be one of %s."
- ERR_TYPE =
error message DataTypeValidator
"Invalid Data %s for %s. must be %s."
- ERR_REGEX =
error message for RegexValidator
"Invalid Data. %s does not match %s."
- ERR_RANGE =
error message for RangeValidator
"Invalid Data. %s must be between %s and %s, (inclusive:%s) you gave: %s"
- ERR_SHEET_NAME_TOO_LONG =
error message for sheets that use a name which is longer than 31 bytes
"Your worksheet name '%s' is too long. Worksheet names must be 31 characters (bytes) or less"
- ERR_SHEET_NAME_COLON_FORBIDDEN =
error message for sheets that use a name which includes a colon
"Your worksheet name '%s' contains a colon, which is not allowed by MS Excel and will cause repair warnings. Please change the name of your sheet."
- ERR_DUPLICATE_SHEET_NAME =
error message for duplicate sheet names
"There is already a worksheet in this workbook named '%s'. Please use a unique name"
- ERR_INVALID_BORDER_OPTIONS =
error message when user does not provide color and or style options for border in Style#add_sytle
"border hash must include both style and color. e.g. :border => { :color => 'FF000000', :style => :thin }. You provided: %s"
- ERR_INVALID_BORDER_ID =
error message for invalid border id reference
"The border id you specified (%s) does not exist. Please add a border with Style#add_style before referencing its index."
- ERR_ANGLE =
error message for invalid angles
"Angles must be a value between -90 and 90. You provided: %s"
- ERR_INTEGERISH =
error message for non 'integerish' value
"You value must be, or be castable via to_i, an Integer. You provided %s"
- CONTROL_CHAR_REGEX =
The regular expression used to remove control characters from worksheets
Regexp.new(pattern, 'n')
Class Method Summary collapse
-
.camel(s = "", all_caps = true) ⇒ String
performs the increadible feat of changing snake_case to CamelCase.
-
.cell_r(c_index, r_index) ⇒ String
The alpha(column)numeric(row) reference for this sell.
-
.cell_range(cells, absolute = true) ⇒ Object
determines the cell range for the items provided.
-
.coder ⇒ HtmlEntities
global reference html entity encoding.
-
.col_ref(index) ⇒ String
converts the column index into alphabetical values.
-
.name_to_indices(name) ⇒ Object
returns the x, y position of a cell.
-
.sort_cells(cells) ⇒ Array
sorts the array of cells provided to start from the minimum x,y to the maximum x.y#.
-
.validate_angle(v) ⇒ Boolean
Requires that the value is between -54000000 and 54000000.
-
.validate_boolean(v) ⇒ Object
Requires that the value is a form that can be evaluated as a boolean in an xml document.
-
.validate_cell_u(v) ⇒ Object
Requires that the value is one of :none, :single, :double, :singleAccounting, :doubleAccounting.
-
.validate_conditional_formatting_operator(v) ⇒ Object
Requires that the value is valid conditional formatting operator.
-
.validate_conditional_formatting_type(v) ⇒ Object
Requires that the value is valid conditional formatting type.
-
.validate_conditional_formatting_value_object_type(v) ⇒ Object
Requires thatt he value is a valid conditional formatting value object type.
-
.validate_content_type(v) ⇒ Object
Requires that the value is a valid content_type TABLE_CT, WORKBOOK_CT, APP_CT, RELS_CT, STYLES_CT, XML_CT, WORKSHEET_CT, SHARED_STRINGS_CT, CORE_CT, CHART_CT, DRAWING_CT, COMMENT_CT are allowed.
-
.validate_data_validation_error_style(v) ⇒ Object
Requires that the value is a valid data_validation_error_style :information, :stop, :warning.
-
.validate_data_validation_operator(v) ⇒ Object
Requires that the value is valid data validation operator.
-
.validate_data_validation_type(v) ⇒ Object
Requires that the value is valid data validation type.
- .validate_family(v) ⇒ Object
-
.validate_float(v) ⇒ Object
Requires that the value is a Float.
-
.validate_gradient_type(v) ⇒ Object
Requires that the value is a gradient_type.
-
.validate_horizontal_alignment(v) ⇒ Object
Requires that the value is a valid horizontal_alignment :general, :left, :center, :right, :fill, :justify, :centerContinuous, :distributed are allowed.
-
.validate_icon_set(v) ⇒ Object
Requires that the value is one of the valid ST_IconSet types Allowed values are: 3Arrows, 3ArrowsGray, 3Flags, 3TrafficLights1, 3TrafficLights2, 3Signs, 3Symbols, 3Symbols2, 4Arrows, 4ArrowsGray, 4RedToBlack, 4Rating, 4TrafficLights, 5Arrows, 5ArrowsGray, 5Rating, 5Quarters.
-
.validate_int(v) ⇒ Object
Requires that the value is a Fixnum or Integer.
-
.validate_integerish(v) ⇒ Object
Requires that the value can be converted to an integer @para, [Any] v the value to validate.
-
.validate_number_with_unit(v) ⇒ Object
Requires that the value is a string containing a positive decimal number followed by one of the following units: "mm", "cm", "in", "pt", "pc", "pi".
-
.validate_page_orientation(v) ⇒ Object
Requires that the value is one of :default, :landscape, or :portrait.
-
.validate_pane_type(v) ⇒ Object
Requires that the value is a valid active pane type.
-
.validate_pattern_type(v) ⇒ Object
Requires that the value is valid pattern type.
-
.validate_relationship_type(v) ⇒ Object
Requires that the value is a valid relationship_type XML_NS_R, TABLE_R, WORKBOOK_R, WORKSHEET_R, APP_R, RELS_R, CORE_R, STYLES_R, CHART_R, DRAWING_R, IMAGE_R, HYPERLINK_R, SHARED_STRINGS_R are allowed.
-
.validate_scale_0_10_400(v) ⇒ Object
Requires that the value is an integer ranging from 10 to 400 or 0.
-
.validate_scale_10_400(v) ⇒ Object
Requires that the value is an integer ranging from 10 to 400.
-
.validate_scatter_style(v) ⇒ Object
Requires that the value is a valid scatterStyle must be one of :none | :line | :lineMarker | :marker | :smooth | :smoothMarker must be one of "none" | "line" | "lineMarker" | "marker" | "smooth" | "smoothMarker".
-
.validate_sheet_view_type(v) ⇒ Object
Requires that the value is a valid sheet view type.
-
.validate_split_state_type(v) ⇒ Object
Requires that the value is a valid split state type.
-
.validate_string(v) ⇒ Object
Requires that the value is a String.
-
.validate_table_element_type(v) ⇒ Object
Requires that the value is a valid table element type :wholeTable, :headerRow, :totalRow, :firstColumn, :lastColumn, :firstRowStripe, :secondRowStripe, :firstColumnStripe, :secondColumnStripe, :firstHeaderCell, :lastHeaderCell, :firstTotalCell, :lastTotalCell, :firstSubtotalColumn, :secondSubtotalColumn, :thirdSubtotalColumn, :firstSubtotalRow, :secondSubtotalRow, :thirdSubtotalRow, :blankRow, :firstColumnSubheading, :secondColumnSubheading, :thirdColumnSubheading, :firstRowSubheading, :secondRowSubheading, :thirdRowSubheading, :pageFieldLabels, :pageFieldValues are allowed.
-
.validate_time_period_type(v) ⇒ Object
Requires that the value is one of the ST_TimePeriod types valid time period types are today, yesterday, tomorrow, last7Days, thisMonth, lastMonth, nextMonth, thisWeek, lastWeek, nextWeek.
-
.validate_unsigned_int(v) ⇒ Boolean
Requires that the value is a Fixnum or Integer and is greater or equal to 0.
-
.validate_unsigned_numeric(v) ⇒ Boolean
Requires that the value is a Fixnum Integer or Float and is greater or equal to 0.
-
.validate_vertical_alignment(v) ⇒ Object
Requires that the value is a valid vertical_alignment :top, :center, :bottom, :justify, :distributed are allowed.
Class Method Details
.camel(s = "", all_caps = true) ⇒ String
performs the increadible feat of changing snake_case to CamelCase
110 111 112 113 114 |
# File 'lib/axlsx.rb', line 110 def self.camel(s="", all_caps = true) s = s.to_s s = s.capitalize if all_caps s.gsub(/_(.)/){ $1.upcase } end |
.cell_r(c_index, r_index) ⇒ String
Returns The alpha(column)numeric(row) reference for this sell.
103 104 105 |
# File 'lib/axlsx.rb', line 103 def self.cell_r(c_index, r_index) Axlsx::col_ref(c_index).to_s << (r_index+1).to_s end |
.cell_range(cells, absolute = true) ⇒ Object
determines the cell range for the items provided
51 52 53 54 55 56 57 58 59 60 61 |
# File 'lib/axlsx.rb', line 51 def self.cell_range(cells, absolute=true) return "" unless cells.first.is_a? Cell cells = sort_cells(cells) reference = "#{cells.first.reference(absolute)}:#{cells.last.reference(absolute)}" if absolute escaped_name = cells.first.row.worksheet.name.gsub "'", "''" "'#{escaped_name}'!#{reference}" else reference end end |
.coder ⇒ HtmlEntities
global reference html entity encoding
73 74 75 |
# File 'lib/axlsx.rb', line 73 def self.coder @@coder ||= ::HTMLEntities.new end |
.col_ref(index) ⇒ String
This follows the standard spreadsheet convention of naming columns A to Z, followed by AA to AZ etc.
converts the column index into alphabetical values.
90 91 92 93 94 95 96 97 98 |
# File 'lib/axlsx.rb', line 90 def self.col_ref(index) chars = [] while index >= 26 do chars << ((index % 26) + 65).chr index = (index / 26).to_i - 1 end chars << (index + 65).chr chars.reverse.join end |
.name_to_indices(name) ⇒ Object
returns the x, y position of a cell
78 79 80 81 82 83 84 85 |
# File 'lib/axlsx.rb', line 78 def self.name_to_indices(name) raise ArgumentError, 'invalid cell name' unless name.size > 1 # capitalization?!? v = name[/[A-Z]+/].reverse.chars.reduce({:base=>1, :i=>0}) do |val, c| val[:i] += ((c.bytes.first - 64) * val[:base]); val[:base] *= 26; val end [v[:i]-1, ((name[/[1-9][0-9]*/]).to_i)-1] end |
.sort_cells(cells) ⇒ Array
sorts the array of cells provided to start from the minimum x,y to the maximum x.y#
67 68 69 |
# File 'lib/axlsx.rb', line 67 def self.sort_cells(cells) cells.sort { |x, y| [x.index, x.row.index] <=> [y.index, y.row.index] } end |
.validate_angle(v) ⇒ Boolean
Requires that the value is between -54000000 and 54000000
78 79 80 |
# File 'lib/axlsx/util/validators.rb', line 78 def self.validate_angle(v) raise ArgumentError, (ERR_ANGLE % v.inspect) unless (v.to_i >= -5400000 && v.to_i <= 5400000) end |
.validate_boolean(v) ⇒ Object
Requires that the value is a form that can be evaluated as a boolean in an xml document. The value must be an instance of Fixnum, String, Integer, Symbol, TrueClass or FalseClass and it must be one of 0, 1, "true", "false", :true, :false, true, false, "0", or "1"
107 108 109 |
# File 'lib/axlsx/util/validators.rb', line 107 def self.validate_boolean(v) DataTypeValidator.validate(:boolean, [Fixnum, String, Integer, Symbol, TrueClass, FalseClass], v, lambda { |arg| [0, 1, "true", "false", :true, :false, true, false, "0", "1"].include?(arg) }) end |
.validate_cell_u(v) ⇒ Object
Requires that the value is one of :none, :single, :double, :singleAccounting, :doubleAccounting
144 145 146 |
# File 'lib/axlsx/util/validators.rb', line 144 def self.validate_cell_u(v) RestrictionValidator.validate "cell run style u", [:none, :single, :double, :singleAccounting, :doubleAccounting], v end |
.validate_conditional_formatting_operator(v) ⇒ Object
Requires that the value is valid conditional formatting operator. valid operators must be one of lessThan, lessThanOrEqual, equal, notEqual, greaterThanOrEqual, greaterThan, between, notBetween, containsText, notContains, beginsWith, endsWith
195 196 197 |
# File 'lib/axlsx/util/validators.rb', line 195 def self.validate_conditional_formatting_operator(v) RestrictionValidator.validate :conditional_formatting_type, [:lessThan, :lessThanOrEqual, :equal, :notEqual, :greaterThanOrEqual, :greaterThan, :between, :notBetween, :containsText, :notContains, :beginsWith, :endsWith], v end |
.validate_conditional_formatting_type(v) ⇒ Object
Requires that the value is valid conditional formatting type. valid types must be one of expression, cellIs, colorScale, dataBar, iconSet, top10, uniqueValues, duplicateValues, containsText, notContainsText, beginsWith, endsWith, containsBlanks, notContainsBlanks, containsErrors, notContainsErrors, timePeriod, aboveAverage
180 181 182 |
# File 'lib/axlsx/util/validators.rb', line 180 def self.validate_conditional_formatting_type(v) RestrictionValidator.validate :conditional_formatting_type, [:expression, :cellIs, :colorScale, :dataBar, :iconSet, :top10, :uniqueValues, :duplicateValues, :containsText, :notContainsText, :beginsWith, :endsWith, :containsBlanks, :notContainsBlanks, :containsErrors, :notContainsErrors, :timePeriod, :aboveAverage], v end |
.validate_conditional_formatting_value_object_type(v) ⇒ Object
Requires thatt he value is a valid conditional formatting value object type. valid types must be one of num, percent, max, min, formula and percentile
186 187 188 |
# File 'lib/axlsx/util/validators.rb', line 186 def self.validate_conditional_formatting_value_object_type(v) RestrictionValidator.validate :conditional_formatting_value_object_type, [:num, :percent, :max, :min, :formula, :percentile], v end |
.validate_content_type(v) ⇒ Object
Requires that the value is a valid content_type TABLE_CT, WORKBOOK_CT, APP_CT, RELS_CT, STYLES_CT, XML_CT, WORKSHEET_CT, SHARED_STRINGS_CT, CORE_CT, CHART_CT, DRAWING_CT, COMMENT_CT are allowed
230 231 232 |
# File 'lib/axlsx/util/validators.rb', line 230 def self.validate_content_type(v) RestrictionValidator.validate :content_type, [TABLE_CT, WORKBOOK_CT, APP_CT, RELS_CT, STYLES_CT, XML_CT, WORKSHEET_CT, SHARED_STRINGS_CT, CORE_CT, CHART_CT, JPEG_CT, GIF_CT, PNG_CT, DRAWING_CT, COMMENT_CT, VML_DRAWING_CT], v end |
.validate_data_validation_error_style(v) ⇒ Object
Requires that the value is a valid data_validation_error_style :information, :stop, :warning
251 252 253 |
# File 'lib/axlsx/util/validators.rb', line 251 def self.validate_data_validation_error_style(v) RestrictionValidator.validate :validate_data_validation_error_style, [:information, :stop, :warning], v end |
.validate_data_validation_operator(v) ⇒ Object
Requires that the value is valid data validation operator. valid operators must be one of lessThan, lessThanOrEqual, equal, notEqual, greaterThanOrEqual, greaterThan, between, notBetween
259 260 261 |
# File 'lib/axlsx/util/validators.rb', line 259 def self.validate_data_validation_operator(v) RestrictionValidator.validate :data_validation_operator, [:lessThan, :lessThanOrEqual, :equal, :notEqual, :greaterThanOrEqual, :greaterThan, :between, :notBetween], v end |
.validate_data_validation_type(v) ⇒ Object
Requires that the value is valid data validation type. valid types must be one of custom, data, decimal, list, none, textLength, time, whole
266 267 268 |
# File 'lib/axlsx/util/validators.rb', line 266 def self.validate_data_validation_type(v) RestrictionValidator.validate :data_validation_type, [:custom, :data, :decimal, :list, :none, :textLength, :time, :whole], v end |
.validate_family(v) ⇒ Object
148 149 150 |
# File 'lib/axlsx/util/validators.rb', line 148 def self.validate_family(v) RestrictionValidator.validate "cell run style family", 1..5, v end |
.validate_float(v) ⇒ Object
Requires that the value is a Float
119 120 121 |
# File 'lib/axlsx/util/validators.rb', line 119 def self.validate_float(v) DataTypeValidator.validate :float, Float, v end |
.validate_gradient_type(v) ⇒ Object
Requires that the value is a gradient_type. valid types are :linear and :path
202 203 204 |
# File 'lib/axlsx/util/validators.rb', line 202 def self.validate_gradient_type(v) RestrictionValidator.validate :gradient_type, [:linear, :path], v end |
.validate_horizontal_alignment(v) ⇒ Object
Requires that the value is a valid horizontal_alignment :general, :left, :center, :right, :fill, :justify, :centerContinuous, :distributed are allowed
216 217 218 |
# File 'lib/axlsx/util/validators.rb', line 216 def self.validate_horizontal_alignment(v) RestrictionValidator.validate :horizontal_alignment, [:general, :left, :center, :right, :fill, :justify, :centerContinuous, :distributed], v end |
.validate_icon_set(v) ⇒ Object
Requires that the value is one of the valid ST_IconSet types Allowed values are: 3Arrows, 3ArrowsGray, 3Flags, 3TrafficLights1, 3TrafficLights2, 3Signs, 3Symbols, 3Symbols2, 4Arrows, 4ArrowsGray, 4RedToBlack, 4Rating, 4TrafficLights, 5Arrows, 5ArrowsGray, 5Rating, 5Quarters
169 170 171 |
# File 'lib/axlsx/util/validators.rb', line 169 def self.validate_icon_set(v) RestrictionValidator.validate :iconSet, ["3Arrows", "3ArrowsGray", "3Flags", "3TrafficLights1", "3TrafficLights2", "3Signs", "3Symbols", "3Symbols2", "4Arrows", "4ArrowsGray", "4RedToBlack", "4Rating", "4TrafficLights", "5Arrows", "5ArrowsGray", "5Rating", "5Quarters"], v end |
.validate_int(v) ⇒ Object
Requires that the value is a Fixnum or Integer
99 100 101 |
# File 'lib/axlsx/util/validators.rb', line 99 def self.validate_int(v) DataTypeValidator.validate :unsigned_int, [Fixnum, Integer], v end |
.validate_integerish(v) ⇒ Object
Requires that the value can be converted to an integer @para, [Any] v the value to validate
70 71 72 |
# File 'lib/axlsx/util/validators.rb', line 70 def self.validate_integerish(v) raise ArgumentError, (ERR_INTEGERISH % v.inspect) unless (v.respond_to?(:to_i) && v.to_i.is_a?(Integer)) end |
.validate_number_with_unit(v) ⇒ Object
Requires that the value is a string containing a positive decimal number followed by one of the following units: "mm", "cm", "in", "pt", "pc", "pi"
125 126 127 |
# File 'lib/axlsx/util/validators.rb', line 125 def self.validate_number_with_unit(v) RegexValidator.validate "number_with_unit", /\A[0-9]+(\.[0-9]+)?(mm|cm|in|pt|pc|pi)\Z/, v end |
.validate_page_orientation(v) ⇒ Object
Requires that the value is one of :default, :landscape, or :portrait.
140 141 142 |
# File 'lib/axlsx/util/validators.rb', line 140 def self.validate_page_orientation(v) RestrictionValidator.validate "page_orientation", [:default, :landscape, :portrait], v end |
.validate_pane_type(v) ⇒ Object
Requires that the value is a valid active pane type. valid types must be one of bottom_left, bottom_right, top_left, top_right
280 281 282 |
# File 'lib/axlsx/util/validators.rb', line 280 def self.validate_pane_type(v) RestrictionValidator.validate :active_pane_type, [:bottom_left, :bottom_right, :top_left, :top_right], v end |
.validate_pattern_type(v) ⇒ Object
Requires that the value is valid pattern type. valid pattern types must be one of :none, :solid, :mediumGray, :darkGray, :lightGray, :darkHorizontal, :darkVertical, :darkDown, :darkUp, :darkGrid, :darkTrellis, :lightHorizontal, :lightVertical, :lightDown, :lightUp, :lightGrid, :lightTrellis, :gray125, or :gray0625.
155 156 157 158 |
# File 'lib/axlsx/util/validators.rb', line 155 def self.validate_pattern_type(v) RestrictionValidator.validate :pattern_type, [:none, :solid, :mediumGray, :darkGray, :lightGray, :darkHorizontal, :darkVertical, :darkDown, :darkUp, :darkGrid, :darkTrellis, :lightHorizontal, :lightVertical, :lightDown, :lightUp, :lightGrid, :lightTrellis, :gray125, :gray0625], v end |
.validate_relationship_type(v) ⇒ Object
Requires that the value is a valid relationship_type XML_NS_R, TABLE_R, WORKBOOK_R, WORKSHEET_R, APP_R, RELS_R, CORE_R, STYLES_R, CHART_R, DRAWING_R, IMAGE_R, HYPERLINK_R, SHARED_STRINGS_R are allowed
237 238 239 |
# File 'lib/axlsx/util/validators.rb', line 237 def self.validate_relationship_type(v) RestrictionValidator.validate :relationship_type, [XML_NS_R, TABLE_R, WORKBOOK_R, WORKSHEET_R, APP_R, RELS_R, CORE_R, STYLES_R, CHART_R, DRAWING_R, IMAGE_R, HYPERLINK_R, SHARED_STRINGS_R, COMMENT_R, VML_DRAWING_R, COMMENT_R_NULL], v end |
.validate_scale_0_10_400(v) ⇒ Object
Requires that the value is an integer ranging from 10 to 400 or 0.
135 136 137 |
# File 'lib/axlsx/util/validators.rb', line 135 def self.validate_scale_0_10_400(v) DataTypeValidator.validate "page_scale", [Fixnum, Integer], v, lambda { |arg| arg == 0 || (arg >= 10 && arg <= 400) } end |
.validate_scale_10_400(v) ⇒ Object
Requires that the value is an integer ranging from 10 to 400.
130 131 132 |
# File 'lib/axlsx/util/validators.rb', line 130 def self.validate_scale_10_400(v) DataTypeValidator.validate "page_scale", [Fixnum, Integer], v, lambda { |arg| arg >= 10 && arg <= 400 } end |
.validate_scatter_style(v) ⇒ Object
Requires that the value is a valid scatterStyle must be one of :none | :line | :lineMarker | :marker | :smooth | :smoothMarker must be one of "none" | "line" | "lineMarker" | "marker" | "smooth" | "smoothMarker"
210 211 212 |
# File 'lib/axlsx/util/validators.rb', line 210 def self.validate_scatter_style(v) Axlsx::RestrictionValidator.validate "ScatterChart.scatterStyle", [:none, :line, :lineMarker, :marker, :smooth, :smoothMarker], v.to_sym end |
.validate_sheet_view_type(v) ⇒ Object
Requires that the value is a valid sheet view type. valid types must be one of normal, page_break_preview, page_layout
273 274 275 |
# File 'lib/axlsx/util/validators.rb', line 273 def self.validate_sheet_view_type(v) RestrictionValidator.validate :sheet_view_type, [:normal, :page_break_preview, :page_layout], v end |
.validate_split_state_type(v) ⇒ Object
Requires that the value is a valid split state type. valid types must be one of frozen, frozen_split, split
287 288 289 |
# File 'lib/axlsx/util/validators.rb', line 287 def self.validate_split_state_type(v) RestrictionValidator.validate :split_state_type, [:frozen, :frozen_split, :split], v end |
.validate_string(v) ⇒ Object
Requires that the value is a String
113 114 115 |
# File 'lib/axlsx/util/validators.rb', line 113 def self.validate_string(v) DataTypeValidator.validate :string, String, v end |
.validate_table_element_type(v) ⇒ Object
Requires that the value is a valid table element type :wholeTable, :headerRow, :totalRow, :firstColumn, :lastColumn, :firstRowStripe, :secondRowStripe, :firstColumnStripe, :secondColumnStripe, :firstHeaderCell, :lastHeaderCell, :firstTotalCell, :lastTotalCell, :firstSubtotalColumn, :secondSubtotalColumn, :thirdSubtotalColumn, :firstSubtotalRow, :secondSubtotalRow, :thirdSubtotalRow, :blankRow, :firstColumnSubheading, :secondColumnSubheading, :thirdColumnSubheading, :firstRowSubheading, :secondRowSubheading, :thirdRowSubheading, :pageFieldLabels, :pageFieldValues are allowed
244 245 246 |
# File 'lib/axlsx/util/validators.rb', line 244 def self.validate_table_element_type(v) RestrictionValidator.validate :table_element_type, [:wholeTable, :headerRow, :totalRow, :firstColumn, :lastColumn, :firstRowStripe, :secondRowStripe, :firstColumnStripe, :secondColumnStripe, :firstHeaderCell, :lastHeaderCell, :firstTotalCell, :lastTotalCell, :firstSubtotalColumn, :secondSubtotalColumn, :thirdSubtotalColumn, :firstSubtotalRow, :secondSubtotalRow, :thirdSubtotalRow, :blankRow, :firstColumnSubheading, :secondColumnSubheading, :thirdColumnSubheading, :firstRowSubheading, :secondRowSubheading, :thirdRowSubheading, :pageFieldLabels, :pageFieldValues], v end |
.validate_time_period_type(v) ⇒ Object
Requires that the value is one of the ST_TimePeriod types valid time period types are today, yesterday, tomorrow, last7Days, thisMonth, lastMonth, nextMonth, thisWeek, lastWeek, nextWeek
163 164 165 |
# File 'lib/axlsx/util/validators.rb', line 163 def self.validate_time_period_type(v) RestrictionValidator.validate :time_period_type, [:today, :yesterday, :tomorrow, :last7Days, :thisMonth, :lastMonth, :nextMonth, :thisWeek, :lastWeek, :nextWeek], v end |
.validate_unsigned_int(v) ⇒ Boolean
Requires that the value is a Fixnum or Integer and is greater or equal to 0
85 86 87 |
# File 'lib/axlsx/util/validators.rb', line 85 def self.validate_unsigned_int(v) DataTypeValidator.validate(:unsigned_int, [Fixnum, Integer], v, lambda { |arg| arg.respond_to?(:>=) && arg >= 0 }) end |
.validate_unsigned_numeric(v) ⇒ Boolean
Requires that the value is a Fixnum Integer or Float and is greater or equal to 0
93 94 95 |
# File 'lib/axlsx/util/validators.rb', line 93 def self.validate_unsigned_numeric(v) DataTypeValidator.validate("Invalid column width", [Fixnum, Integer, Float], v, lambda { |arg| arg.respond_to?(:>=) && arg.to_i >= 0 }) end |
.validate_vertical_alignment(v) ⇒ Object
Requires that the value is a valid vertical_alignment :top, :center, :bottom, :justify, :distributed are allowed
223 224 225 |
# File 'lib/axlsx/util/validators.rb', line 223 def self.validate_vertical_alignment(v) RestrictionValidator.validate :vertical_alignment, [:top, :center, :bottom, :justify, :distributed], v end |