rubyXL 3.4.14 → 3.4.33
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/.circleci/config.yml +2 -1
- data/.rubocop.yml +124 -0
- data/CHANGELOG.md +12 -0
- data/Gemfile +10 -8
- data/README.rdoc +32 -13
- data/Rakefile +26 -27
- data/VERSION +1 -1
- data/lib/rubyXL/cell.rb +2 -4
- data/lib/rubyXL/convenience_methods/cell.rb +36 -32
- data/lib/rubyXL/convenience_methods/color.rb +9 -13
- data/lib/rubyXL/convenience_methods/workbook.rb +10 -9
- data/lib/rubyXL/convenience_methods/worksheet.rb +103 -7
- data/lib/rubyXL/objects/border.rb +0 -3
- data/lib/rubyXL/objects/calculation_chain.rb +2 -2
- data/lib/rubyXL/objects/cell_style.rb +1 -3
- data/lib/rubyXL/objects/chartsheet.rb +6 -10
- data/lib/rubyXL/objects/color.rb +2 -4
- data/lib/rubyXL/objects/column_range.rb +16 -15
- data/lib/rubyXL/objects/comments.rb +1 -4
- data/lib/rubyXL/objects/connection.rb +11 -11
- data/lib/rubyXL/objects/container_nodes.rb +1 -5
- data/lib/rubyXL/objects/content_types.rb +3 -6
- data/lib/rubyXL/objects/data_validation.rb +2 -2
- data/lib/rubyXL/objects/document_properties.rb +10 -13
- data/lib/rubyXL/objects/extensions.rb +0 -2
- data/lib/rubyXL/objects/external_links.rb +37 -7
- data/lib/rubyXL/objects/fill.rb +2 -5
- data/lib/rubyXL/objects/filters.rb +5 -7
- data/lib/rubyXL/objects/font.rb +2 -4
- data/lib/rubyXL/objects/formula.rb +3 -5
- data/lib/rubyXL/objects/ooxml_object.rb +34 -32
- data/lib/rubyXL/objects/query_table.rb +7 -5
- data/lib/rubyXL/objects/reference.rb +26 -17
- data/lib/rubyXL/objects/relationships.rb +7 -12
- data/lib/rubyXL/objects/root.rb +0 -2
- data/lib/rubyXL/objects/shared_strings.rb +4 -7
- data/lib/rubyXL/objects/sheet_common.rb +1 -3
- data/lib/rubyXL/objects/sheet_data.rb +12 -14
- data/lib/rubyXL/objects/simple_types.rb +3 -1
- data/lib/rubyXL/objects/storage.rb +57 -51
- data/lib/rubyXL/objects/stylesheet.rb +9 -17
- data/lib/rubyXL/objects/text.rb +6 -8
- data/lib/rubyXL/objects/theme.rb +19 -24
- data/lib/rubyXL/objects/workbook.rb +43 -38
- data/lib/rubyXL/objects/worksheet.rb +35 -31
- data/lib/rubyXL/parser.rb +1 -3
- data/lib/rubyXL/worksheet.rb +86 -79
- data/lib/rubyXL.rb +0 -1
- data/rdoc/README_rdoc.html +139 -73
- data/rdoc/RubyXL/AExtension.html +24 -60
- data/rdoc/RubyXL/AExtensionStorageArea.html +6 -13
- data/rdoc/RubyXL/ActiveX.html +19 -46
- data/rdoc/RubyXL/ActiveXBinary.html +6 -18
- data/rdoc/RubyXL/AdjustHandleList.html +6 -13
- data/rdoc/RubyXL/Alignment.html +6 -13
- data/rdoc/RubyXL/AlternateContent.html +6 -13
- data/rdoc/RubyXL/AlternateUrls.html +99 -0
- data/rdoc/RubyXL/Authors.html +6 -13
- data/rdoc/RubyXL/AutoFilter.html +6 -13
- data/rdoc/RubyXL/AutoFilterColumn.html +6 -13
- data/rdoc/RubyXL/BinaryImageFile.html +6 -21
- data/rdoc/RubyXL/BodyProperties.html +6 -13
- data/rdoc/RubyXL/BooleanNode.html +6 -13
- data/rdoc/RubyXL/BooleanValue.html +6 -13
- data/rdoc/RubyXL/Border.html +37 -89
- data/rdoc/RubyXL/BorderEdge.html +23 -53
- data/rdoc/RubyXL/Borders.html +16 -35
- data/rdoc/RubyXL/Break.html +6 -13
- data/rdoc/RubyXL/BreakList.html +6 -13
- data/rdoc/RubyXL/CT_AdjPoint2D.html +6 -13
- data/rdoc/RubyXL/CT_AlphaBiLevelEffect.html +6 -13
- data/rdoc/RubyXL/CT_AlphaModulateEffect.html +6 -13
- data/rdoc/RubyXL/CT_AlphaModulateFixedEffect.html +6 -13
- data/rdoc/RubyXL/CT_AlphaOutsetEffect.html +6 -13
- data/rdoc/RubyXL/CT_AlphaReplaceEffect.html +6 -13
- data/rdoc/RubyXL/CT_Backdrop.html +6 -13
- data/rdoc/RubyXL/CT_Bevel.html +6 -13
- data/rdoc/RubyXL/CT_BiLevelEffect.html +6 -13
- data/rdoc/RubyXL/CT_BlendEffect.html +6 -13
- data/rdoc/RubyXL/CT_Blip.html +6 -13
- data/rdoc/RubyXL/CT_BlipFillProperties.html +6 -13
- data/rdoc/RubyXL/CT_BlurEffect.html +6 -13
- data/rdoc/RubyXL/CT_Camera.html +6 -13
- data/rdoc/RubyXL/CT_Color.html +6 -13
- data/rdoc/RubyXL/CT_ColorChangeEffect.html +6 -13
- data/rdoc/RubyXL/CT_ColorMapping.html +6 -13
- data/rdoc/RubyXL/CT_ColorScheme.html +6 -13
- data/rdoc/RubyXL/CT_ColorSchemeAndMapping.html +6 -13
- data/rdoc/RubyXL/CT_ConnectionSite.html +6 -13
- data/rdoc/RubyXL/CT_ConnectionSiteList.html +6 -13
- data/rdoc/RubyXL/CT_DashStop.html +6 -13
- data/rdoc/RubyXL/CT_DashStopList.html +6 -13
- data/rdoc/RubyXL/CT_DefaultShapeDefinition.html +6 -13
- data/rdoc/RubyXL/CT_DuotoneEffect.html +6 -13
- data/rdoc/RubyXL/CT_EffectContainer.html +6 -13
- data/rdoc/RubyXL/CT_EffectList.html +6 -13
- data/rdoc/RubyXL/CT_EffectReference.html +6 -13
- data/rdoc/RubyXL/CT_EffectStyleItem.html +6 -13
- data/rdoc/RubyXL/CT_EffectStyleList.html +6 -13
- data/rdoc/RubyXL/CT_EmbeddedWAVAudioFile.html +6 -13
- data/rdoc/RubyXL/CT_FillEffect.html +6 -13
- data/rdoc/RubyXL/CT_FillOverlayEffect.html +6 -13
- data/rdoc/RubyXL/CT_FillStyleList.html +6 -13
- data/rdoc/RubyXL/CT_FlatText.html +6 -13
- data/rdoc/RubyXL/CT_FontCollection.html +6 -13
- data/rdoc/RubyXL/CT_FontReference.html +6 -13
- data/rdoc/RubyXL/CT_GeomGuideList.html +6 -13
- data/rdoc/RubyXL/CT_GlowEffect.html +6 -13
- data/rdoc/RubyXL/CT_GradientFillProperties.html +6 -13
- data/rdoc/RubyXL/CT_GradientStop.html +6 -13
- data/rdoc/RubyXL/CT_GradientStopList.html +6 -13
- data/rdoc/RubyXL/CT_HSLEffect.html +6 -13
- data/rdoc/RubyXL/CT_HslColor.html +6 -13
- data/rdoc/RubyXL/CT_Hyperlink.html +6 -13
- data/rdoc/RubyXL/CT_InnerShadowEffect.html +6 -13
- data/rdoc/RubyXL/CT_LightRig.html +6 -13
- data/rdoc/RubyXL/CT_LineEndProperties.html +6 -13
- data/rdoc/RubyXL/CT_LineJoinMiterProperties.html +6 -13
- data/rdoc/RubyXL/CT_LineProperties.html +6 -13
- data/rdoc/RubyXL/CT_LineStyleList.html +6 -13
- data/rdoc/RubyXL/CT_LinearShadeProperties.html +6 -13
- data/rdoc/RubyXL/CT_LuminanceEffect.html +6 -13
- data/rdoc/RubyXL/CT_ObjectStyleDefaults.html +6 -13
- data/rdoc/RubyXL/CT_OuterShadowEffect.html +6 -13
- data/rdoc/RubyXL/CT_Path2D.html +6 -13
- data/rdoc/RubyXL/CT_Path2DArcTo.html +6 -13
- data/rdoc/RubyXL/CT_Path2DCubicBezierTo.html +6 -13
- data/rdoc/RubyXL/CT_Path2DList.html +6 -13
- data/rdoc/RubyXL/CT_Path2DQuadBezierTo.html +6 -13
- data/rdoc/RubyXL/CT_Path2DTo.html +6 -13
- data/rdoc/RubyXL/CT_PathShadeProperties.html +6 -13
- data/rdoc/RubyXL/CT_PatternFillProperties.html +6 -13
- data/rdoc/RubyXL/CT_Point3D.html +6 -13
- data/rdoc/RubyXL/CT_PolarAdjustHandle.html +6 -13
- data/rdoc/RubyXL/CT_PresetColor.html +6 -13
- data/rdoc/RubyXL/CT_PresetLineDashProperties.html +6 -13
- data/rdoc/RubyXL/CT_PresetShadowEffect.html +6 -13
- data/rdoc/RubyXL/CT_PresetTextShape.html +6 -13
- data/rdoc/RubyXL/CT_ReflectionEffect.html +6 -13
- data/rdoc/RubyXL/CT_RelativeOffsetEffect.html +6 -13
- data/rdoc/RubyXL/CT_RelativeRect.html +6 -13
- data/rdoc/RubyXL/CT_SRgbColor.html +6 -13
- data/rdoc/RubyXL/CT_ScRgbColor.html +6 -13
- data/rdoc/RubyXL/CT_Scene3D.html +6 -13
- data/rdoc/RubyXL/CT_SchemeColor.html +6 -13
- data/rdoc/RubyXL/CT_Shape3D.html +6 -13
- data/rdoc/RubyXL/CT_ShapeStyle.html +6 -13
- data/rdoc/RubyXL/CT_SoftEdgesEffect.html +6 -13
- data/rdoc/RubyXL/CT_SphereCoords.html +6 -13
- data/rdoc/RubyXL/CT_StretchInfoProperties.html +6 -13
- data/rdoc/RubyXL/CT_StyleMatrix.html +6 -13
- data/rdoc/RubyXL/CT_StyleMatrixReference.html +6 -13
- data/rdoc/RubyXL/CT_SupplementalFont.html +6 -13
- data/rdoc/RubyXL/CT_SystemColor.html +6 -13
- data/rdoc/RubyXL/CT_TextAutonumberBullet.html +6 -13
- data/rdoc/RubyXL/CT_TextBlipBullet.html +6 -13
- data/rdoc/RubyXL/CT_TextCharBullet.html +6 -13
- data/rdoc/RubyXL/CT_TextCharacterProperties.html +6 -13
- data/rdoc/RubyXL/CT_TextFont.html +6 -13
- data/rdoc/RubyXL/CT_TextListStyle.html +6 -13
- data/rdoc/RubyXL/CT_TextNormalAutofit.html +6 -13
- data/rdoc/RubyXL/CT_TextParagraphProperties.html +6 -13
- data/rdoc/RubyXL/CT_TextSpacing.html +6 -13
- data/rdoc/RubyXL/CT_TextTabStop.html +6 -13
- data/rdoc/RubyXL/CT_TextTabStopList.html +6 -13
- data/rdoc/RubyXL/CT_TileInfoProperties.html +6 -13
- data/rdoc/RubyXL/CT_TintEffect.html +6 -13
- data/rdoc/RubyXL/CT_Transform2D.html +6 -13
- data/rdoc/RubyXL/CT_TransformEffect.html +6 -13
- data/rdoc/RubyXL/CT_Vector3D.html +6 -13
- data/rdoc/RubyXL/CT_XYAdjustHandle.html +6 -13
- data/rdoc/RubyXL/CalculationChain.html +15 -42
- data/rdoc/RubyXL/CalculationChainCell.html +6 -13
- data/rdoc/RubyXL/CalculationProperties.html +6 -13
- data/rdoc/RubyXL/Cell.html +116 -290
- data/rdoc/RubyXL/CellConvenienceMethods.html +318 -641
- data/rdoc/RubyXL/CellExt.html +6 -13
- data/rdoc/RubyXL/CellSmartTag.html +6 -13
- data/rdoc/RubyXL/CellSmartTagProperty.html +6 -13
- data/rdoc/RubyXL/CellSmartTags.html +6 -13
- data/rdoc/RubyXL/CellStyle.html +6 -13
- data/rdoc/RubyXL/CellStyleXFs.html +16 -35
- data/rdoc/RubyXL/CellStyles.html +16 -35
- data/rdoc/RubyXL/CellValue.html +16 -35
- data/rdoc/RubyXL/CellWatch.html +6 -13
- data/rdoc/RubyXL/CellWatches.html +6 -13
- data/rdoc/RubyXL/CellXFs.html +18 -40
- data/rdoc/RubyXL/ChartColorsFile.html +6 -21
- data/rdoc/RubyXL/ChartFile.html +18 -48
- data/rdoc/RubyXL/ChartStyleFile.html +6 -21
- data/rdoc/RubyXL/ChartUserShapesFile.html +6 -21
- data/rdoc/RubyXL/Chartsheet.html +18 -65
- data/rdoc/RubyXL/ChartsheetPageSetup.html +6 -13
- data/rdoc/RubyXL/ChartsheetProperties.html +6 -13
- data/rdoc/RubyXL/ChartsheetProtection.html +6 -13
- data/rdoc/RubyXL/ChartsheetView.html +6 -13
- data/rdoc/RubyXL/ChartsheetViews.html +6 -13
- data/rdoc/RubyXL/Color.html +17 -41
- data/rdoc/RubyXL/ColorConvenienceClasses/HlsColor.html +25 -69
- data/rdoc/RubyXL/ColorConvenienceClasses/RgbColor.html +36 -92
- data/rdoc/RubyXL/ColorConvenienceClasses.html +4 -10
- data/rdoc/RubyXL/ColorConvenienceMethods.html +14 -32
- data/rdoc/RubyXL/ColorFilter.html +6 -13
- data/rdoc/RubyXL/ColorScale.html +6 -13
- data/rdoc/RubyXL/ColorSet.html +6 -13
- data/rdoc/RubyXL/Colors.html +6 -13
- data/rdoc/RubyXL/ColumnRange.html +66 -81
- data/rdoc/RubyXL/ColumnRanges.html +43 -95
- data/rdoc/RubyXL/Comment.html +6 -13
- data/rdoc/RubyXL/CommentList.html +6 -13
- data/rdoc/RubyXL/CommentsFile.html +16 -48
- data/rdoc/RubyXL/ConditionalFormatValue.html +6 -13
- data/rdoc/RubyXL/ConditionalFormatting.html +6 -13
- data/rdoc/RubyXL/ConditionalFormattingRule.html +6 -13
- data/rdoc/RubyXL/Connection.html +6 -13
- data/rdoc/RubyXL/ConnectionTable.html +6 -13
- data/rdoc/RubyXL/ConnectionTables.html +6 -13
- data/rdoc/RubyXL/ConnectionTextField.html +6 -13
- data/rdoc/RubyXL/ConnectionTextFields.html +6 -13
- data/rdoc/RubyXL/Connections.html +15 -42
- data/rdoc/RubyXL/ContentTypeDefault.html +6 -13
- data/rdoc/RubyXL/ContentTypeOverride.html +6 -13
- data/rdoc/RubyXL/ContentTypes.html +25 -63
- data/rdoc/RubyXL/ControlPropertiesFile.html +8 -18
- data/rdoc/RubyXL/CorePropertiesFile.html +72 -192
- data/rdoc/RubyXL/CustomColor.html +6 -13
- data/rdoc/RubyXL/CustomColorList.html +6 -13
- data/rdoc/RubyXL/CustomFilter.html +6 -13
- data/rdoc/RubyXL/CustomFilters.html +6 -13
- data/rdoc/RubyXL/CustomGeometry.html +6 -13
- data/rdoc/RubyXL/CustomProperties.html +6 -13
- data/rdoc/RubyXL/CustomPropertiesFile.html +6 -21
- data/rdoc/RubyXL/CustomProperty.html +6 -13
- data/rdoc/RubyXL/CustomPropertyFile.html +6 -21
- data/rdoc/RubyXL/CustomSheetView.html +6 -13
- data/rdoc/RubyXL/CustomSheetViews.html +6 -13
- data/rdoc/RubyXL/CustomWorkbookView.html +6 -13
- data/rdoc/RubyXL/CustomWorkbookViews.html +6 -13
- data/rdoc/RubyXL/CustomXMLFile.html +6 -18
- data/rdoc/RubyXL/DXF.html +6 -13
- data/rdoc/RubyXL/DXFs.html +6 -13
- data/rdoc/RubyXL/DataBar.html +6 -13
- data/rdoc/RubyXL/DataConsolidate.html +6 -13
- data/rdoc/RubyXL/DataConsolidationReference.html +6 -13
- data/rdoc/RubyXL/DataConsolidationReferences.html +6 -13
- data/rdoc/RubyXL/DataType.html +4 -33
- data/rdoc/RubyXL/DataValidation.html +6 -13
- data/rdoc/RubyXL/DataValidations.html +6 -13
- data/rdoc/RubyXL/DateGroupItem.html +6 -13
- data/rdoc/RubyXL/DefinedName.html +6 -13
- data/rdoc/RubyXL/DefinedNameExt.html +6 -13
- data/rdoc/RubyXL/DefinedNames.html +6 -13
- data/rdoc/RubyXL/DefinedNamesExt.html +6 -13
- data/rdoc/RubyXL/DocumentPropertiesFile.html +23 -65
- data/rdoc/RubyXL/DrawingFile.html +18 -48
- data/rdoc/RubyXL/DynamicFilter.html +6 -13
- data/rdoc/RubyXL/EmbeddedControl.html +6 -13
- data/rdoc/RubyXL/EmbeddedControls.html +6 -13
- data/rdoc/RubyXL/Extension.html +6 -13
- data/rdoc/RubyXL/ExtensionStorageArea.html +6 -13
- data/rdoc/RubyXL/Extents.html +6 -13
- data/rdoc/RubyXL/ExternalBook.html +6 -13
- data/rdoc/RubyXL/ExternalLinksFile.html +18 -48
- data/rdoc/RubyXL/ExternalReference.html +6 -13
- data/rdoc/RubyXL/ExternalReferences.html +6 -13
- data/rdoc/RubyXL/ExtraColorSchemeList.html +6 -13
- data/rdoc/RubyXL/FieldItem.html +6 -13
- data/rdoc/RubyXL/FileRecoveryProperties.html +6 -13
- data/rdoc/RubyXL/FileSharing.html +6 -13
- data/rdoc/RubyXL/FileVersion.html +6 -13
- data/rdoc/RubyXL/Fill.html +16 -35
- data/rdoc/RubyXL/Fills.html +16 -35
- data/rdoc/RubyXL/FilterContainer.html +6 -13
- data/rdoc/RubyXL/FloatNode.html +6 -13
- data/rdoc/RubyXL/FloatValue.html +6 -13
- data/rdoc/RubyXL/Font.html +18 -42
- data/rdoc/RubyXL/FontConvenienceMethods.html +92 -253
- data/rdoc/RubyXL/FontScheme.html +6 -13
- data/rdoc/RubyXL/Fonts.html +16 -35
- data/rdoc/RubyXL/Formula.html +6 -13
- data/rdoc/RubyXL/FunctionGroup.html +6 -13
- data/rdoc/RubyXL/FunctionGroups.html +6 -13
- data/rdoc/RubyXL/GenericStorageObject.html +32 -90
- data/rdoc/RubyXL/GradientFill.html +6 -13
- data/rdoc/RubyXL/HeaderFooterSettings.html +6 -13
- data/rdoc/RubyXL/Hyperlink.html +6 -13
- data/rdoc/RubyXL/HyperlinkRelFile.html +6 -18
- data/rdoc/RubyXL/Hyperlinks.html +6 -13
- data/rdoc/RubyXL/IconFilter.html +6 -13
- data/rdoc/RubyXL/IconSet.html +6 -13
- data/rdoc/RubyXL/IgnoredError.html +6 -13
- data/rdoc/RubyXL/IgnoredErrors.html +6 -13
- data/rdoc/RubyXL/IndexedColors.html +6 -13
- data/rdoc/RubyXL/InputCells.html +6 -13
- data/rdoc/RubyXL/IntegerNode.html +6 -13
- data/rdoc/RubyXL/IntegerValue.html +6 -13
- data/rdoc/RubyXL/LegacyCell.html +14 -32
- data/rdoc/RubyXL/LegacyWorksheet.html +64 -116
- data/rdoc/RubyXL/MRUColors.html +6 -13
- data/rdoc/RubyXL/MacrosFile.html +6 -21
- data/rdoc/RubyXL/MergedCell.html +6 -13
- data/rdoc/RubyXL/MergedCells.html +6 -13
- data/rdoc/RubyXL/NumFmt.html +6 -13
- data/rdoc/RubyXL/NumberFormat.html +17 -36
- data/rdoc/RubyXL/NumberFormats.html +16 -40
- data/rdoc/RubyXL/OLEObject.html +6 -13
- data/rdoc/RubyXL/OLEObjectFile.html +6 -21
- data/rdoc/RubyXL/OLEObjects.html +6 -13
- data/rdoc/RubyXL/OLESize.html +6 -13
- data/rdoc/RubyXL/OOXMLContainerObject.html +57 -140
- data/rdoc/RubyXL/OOXMLIgnored.html +24 -55
- data/rdoc/RubyXL/OOXMLObject.html +9 -19
- data/rdoc/RubyXL/OOXMLObjectClassMethods.html +80 -115
- data/rdoc/RubyXL/OOXMLObjectInstanceMethods.html +79 -185
- data/rdoc/RubyXL/OOXMLRelationshipsFile.html +86 -223
- data/rdoc/RubyXL/OOXMLTopLevelObject.html +46 -123
- data/rdoc/RubyXL/OdbcOleDbProperties.html +6 -13
- data/rdoc/RubyXL/Offset.html +6 -13
- data/rdoc/RubyXL/OlapProperties.html +6 -13
- data/rdoc/RubyXL/OleItem.html +99 -0
- data/rdoc/RubyXL/OleItems.html +99 -0
- data/rdoc/RubyXL/OleLink.html +99 -0
- data/rdoc/RubyXL/OutlineProperties.html +6 -13
- data/rdoc/RubyXL/PageMargins.html +6 -13
- data/rdoc/RubyXL/PageSetup.html +6 -13
- data/rdoc/RubyXL/PageSetupProperties.html +6 -13
- data/rdoc/RubyXL/Pane.html +6 -13
- data/rdoc/RubyXL/Parser.html +24 -54
- data/rdoc/RubyXL/PatternFill.html +6 -13
- data/rdoc/RubyXL/PersonMetadata.html +108 -0
- data/rdoc/RubyXL/PhoneticProperties.html +6 -13
- data/rdoc/RubyXL/PhoneticRun.html +6 -13
- data/rdoc/RubyXL/PivotArea.html +6 -13
- data/rdoc/RubyXL/PivotCache.html +6 -13
- data/rdoc/RubyXL/PivotCacheDefinitionFile.html +8 -26
- data/rdoc/RubyXL/PivotCacheRecordsFile.html +6 -21
- data/rdoc/RubyXL/PivotCaches.html +6 -13
- data/rdoc/RubyXL/PivotReference.html +6 -13
- data/rdoc/RubyXL/PivotReferences.html +6 -13
- data/rdoc/RubyXL/PivotTableFile.html +8 -26
- data/rdoc/RubyXL/PivotTableSelection.html +6 -13
- data/rdoc/RubyXL/PresetGeometry.html +6 -13
- data/rdoc/RubyXL/PrintOptions.html +6 -13
- data/rdoc/RubyXL/PrinterSettingsFile.html +6 -21
- data/rdoc/RubyXL/ProtectedRange.html +6 -13
- data/rdoc/RubyXL/ProtectedRanges.html +6 -13
- data/rdoc/RubyXL/Protection.html +6 -13
- data/rdoc/RubyXL/QueryParameter.html +6 -13
- data/rdoc/RubyXL/QueryParameters.html +6 -13
- data/rdoc/RubyXL/QueryTable.html +18 -48
- data/rdoc/RubyXL/QueryTableDeletedField.html +6 -13
- data/rdoc/RubyXL/QueryTableDeletedFields.html +6 -13
- data/rdoc/RubyXL/QueryTableField.html +6 -13
- data/rdoc/RubyXL/QueryTableFields.html +6 -13
- data/rdoc/RubyXL/QueryTableRefresh.html +6 -13
- data/rdoc/RubyXL/RID.html +6 -13
- data/rdoc/RubyXL/RawOOXML.html +24 -60
- data/rdoc/RubyXL/Reference.html +137 -263
- data/rdoc/RubyXL/Relationship.html +6 -13
- data/rdoc/RubyXL/RelationshipSupport/ClassMehods.html +14 -32
- data/rdoc/RubyXL/RelationshipSupport.html +52 -137
- data/rdoc/RubyXL/RevisionPointer.html +6 -13
- data/rdoc/RubyXL/RichText.html +19 -37
- data/rdoc/RubyXL/RichTextRun.html +16 -35
- data/rdoc/RubyXL/Row.html +63 -180
- data/rdoc/RubyXL/RowExt.html +6 -13
- data/rdoc/RubyXL/RunProperties.html +6 -13
- data/rdoc/RubyXL/Scenario.html +6 -13
- data/rdoc/RubyXL/Scenarios.html +6 -13
- data/rdoc/RubyXL/Selection.html +16 -35
- data/rdoc/RubyXL/ShapeGuide.html +6 -13
- data/rdoc/RubyXL/ShapeTextRectangle.html +6 -13
- data/rdoc/RubyXL/SharedStringsTable.html +60 -156
- data/rdoc/RubyXL/Sheet.html +6 -13
- data/rdoc/RubyXL/SheetCalculationProperties.html +6 -13
- data/rdoc/RubyXL/SheetData.html +21 -51
- data/rdoc/RubyXL/SheetDataExt.html +6 -13
- data/rdoc/RubyXL/SheetDataSet.html +6 -13
- data/rdoc/RubyXL/SheetMetadata.html +108 -0
- data/rdoc/RubyXL/SheetName.html +6 -13
- data/rdoc/RubyXL/SheetNames.html +6 -13
- data/rdoc/RubyXL/Sheets.html +6 -13
- data/rdoc/RubyXL/SlicerCacheFile.html +6 -21
- data/rdoc/RubyXL/SlicerFile.html +6 -21
- data/rdoc/RubyXL/SmartTagProperties.html +6 -13
- data/rdoc/RubyXL/SmartTagType.html +6 -13
- data/rdoc/RubyXL/SmartTagTypes.html +6 -13
- data/rdoc/RubyXL/SmartTags.html +6 -13
- data/rdoc/RubyXL/SortCondition.html +6 -13
- data/rdoc/RubyXL/SortState.html +6 -13
- data/rdoc/RubyXL/Sqref.html +25 -56
- data/rdoc/RubyXL/Stop.html +6 -13
- data/rdoc/RubyXL/StringNode.html +6 -13
- data/rdoc/RubyXL/StringNodeW3C.html +24 -55
- data/rdoc/RubyXL/StringValue.html +6 -13
- data/rdoc/RubyXL/Stylesheet.html +45 -118
- data/rdoc/RubyXL/TableFile.html +6 -21
- data/rdoc/RubyXL/TableParts.html +6 -13
- data/rdoc/RubyXL/TableStyle.html +6 -13
- data/rdoc/RubyXL/TableStyles.html +6 -13
- data/rdoc/RubyXL/Text.html +25 -63
- data/rdoc/RubyXL/TextImportSettings.html +6 -13
- data/rdoc/RubyXL/Theme.html +46 -96
- data/rdoc/RubyXL/ThemeElements.html +6 -13
- data/rdoc/RubyXL/ThumbnailFile.html +6 -21
- data/rdoc/RubyXL/Top10.html +6 -13
- data/rdoc/RubyXL/VMLDrawingFile.html +9 -27
- data/rdoc/RubyXL/Variant.html +6 -13
- data/rdoc/RubyXL/Vector.html +16 -35
- data/rdoc/RubyXL/VectorValue.html +6 -13
- data/rdoc/RubyXL/VisualProperties.html +6 -13
- data/rdoc/RubyXL/WebPublishObject.html +6 -13
- data/rdoc/RubyXL/WebPublishObjects.html +6 -13
- data/rdoc/RubyXL/WebPublishingItem.html +6 -13
- data/rdoc/RubyXL/WebPublishingItems.html +6 -13
- data/rdoc/RubyXL/WebPublishingProperties.html +6 -13
- data/rdoc/RubyXL/WebQueryProperties.html +6 -13
- data/rdoc/RubyXL/Workbook.html +222 -583
- data/rdoc/RubyXL/WorkbookConvenienceMethods.html +170 -309
- data/rdoc/RubyXL/WorkbookProperties.html +6 -13
- data/rdoc/RubyXL/WorkbookProtection.html +6 -13
- data/rdoc/RubyXL/WorkbookRoot.html +47 -125
- data/rdoc/RubyXL/WorkbookView.html +6 -13
- data/rdoc/RubyXL/WorkbookViews.html +6 -13
- data/rdoc/RubyXL/Worksheet.html +79 -160
- data/rdoc/RubyXL/WorksheetConvenienceMethods.html +605 -1269
- data/rdoc/RubyXL/WorksheetDimensions.html +6 -13
- data/rdoc/RubyXL/WorksheetFormatProperties.html +6 -13
- data/rdoc/RubyXL/WorksheetProperties.html +6 -13
- data/rdoc/RubyXL/WorksheetProtection.html +6 -13
- data/rdoc/RubyXL/WorksheetView.html +6 -13
- data/rdoc/RubyXL/WorksheetViews.html +6 -13
- data/rdoc/RubyXL/XF.html +6 -13
- data/rdoc/RubyXL.html +15 -324
- data/rdoc/created.rid +44 -44
- data/rdoc/css/rdoc.css +76 -8
- data/rdoc/fonts/SourceCodePro-Bold.ttf +0 -0
- data/rdoc/fonts/SourceCodePro-Regular.ttf +0 -0
- data/rdoc/index.html +397 -769
- data/rdoc/js/darkfish.js +14 -1
- data/rdoc/js/navigation.js +8 -8
- data/rdoc/js/navigation.js.gz +0 -0
- data/rdoc/js/search.js +4 -4
- data/rdoc/js/search_index.js +1 -1
- data/rdoc/js/search_index.js.gz +0 -0
- data/rdoc/js/searcher.js.gz +0 -0
- data/rdoc/table_of_contents.html +68 -5
- data/rubyXL.gemspec +28 -29
- data/spec/lib/cell_spec.rb +67 -9
- data/spec/lib/color_spec.rb +8 -1
- data/spec/lib/parser_spec.rb +28 -28
- data/spec/lib/reference_spec.rb +41 -5
- data/spec/lib/rgb_color_spec.rb +16 -3
- data/spec/lib/stylesheet_spec.rb +10 -11
- data/spec/lib/text_spec.rb +4 -6
- data/spec/lib/workbook_spec.rb +20 -8
- data/spec/lib/worksheet_spec.rb +815 -460
- data/spec/spec_helper.rb +2 -0
- data/test/test_parse_write.rb +3 -3
- metadata +26 -6
- data/Gemfile.lock +0 -92
data/rdoc/js/search_index.js.gz
CHANGED
|
Binary file
|
data/rdoc/js/searcher.js.gz
CHANGED
|
Binary file
|
data/rdoc/table_of_contents.html
CHANGED
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
<head>
|
|
5
5
|
<meta charset="UTF-8">
|
|
6
6
|
|
|
7
|
-
<title>Table of Contents - rubyXL 3.4.
|
|
7
|
+
<title>Table of Contents - rubyXL 3.4.33</title>
|
|
8
8
|
|
|
9
9
|
<script type="text/javascript">
|
|
10
10
|
var rdoc_rel_prefix = "./";
|
|
@@ -21,10 +21,9 @@
|
|
|
21
21
|
<link href="./css/rdoc.css" rel="stylesheet">
|
|
22
22
|
|
|
23
23
|
|
|
24
|
-
|
|
25
24
|
<body id="top" class="table-of-contents">
|
|
26
25
|
<main role="main">
|
|
27
|
-
<h1 class="class">Table of Contents - rubyXL 3.4.
|
|
26
|
+
<h1 class="class">Table of Contents - rubyXL 3.4.33</h1>
|
|
28
27
|
|
|
29
28
|
<h2 id="pages">Pages</h2>
|
|
30
29
|
<ul>
|
|
@@ -67,15 +66,16 @@
|
|
|
67
66
|
<li><a href="README_rdoc.html#label-Insert+Cell">Insert Cell</a>
|
|
68
67
|
<li><a href="README_rdoc.html#label-Delete+Cell">Delete Cell</a>
|
|
69
68
|
<li><a href="README_rdoc.html#label-Modifying+Cell+Format">Modifying Cell Format</a>
|
|
69
|
+
<li><a href="README_rdoc.html#label-Add+hyperlink+to+a+Cell">Add hyperlink to a Cell</a>
|
|
70
70
|
<li><a href="README_rdoc.html#label-I-2FO">I/O</a>
|
|
71
71
|
<li><a href="README_rdoc.html#label-Miscellaneous">Miscellaneous</a>
|
|
72
72
|
<li><a href="README_rdoc.html#label-Suppress+warnings+about+malformed+input+files">Suppress warnings about malformed input files</a>
|
|
73
|
+
<li><a href="README_rdoc.html#label-Data+validation+-28colloquially+referred+to+as+-22dropdown+list-22-29">Data validation (colloquially referred to as “dropdown list”)</a>
|
|
73
74
|
<li><a href="README_rdoc.html#label-For+more+information">For more information</a>
|
|
74
75
|
<li><a href="README_rdoc.html#label-Contributing+to+rubyXL">Contributing to rubyXL</a>
|
|
75
76
|
<li><a href="README_rdoc.html#label-Copyright">Copyright</a>
|
|
76
77
|
</ul>
|
|
77
78
|
</li>
|
|
78
|
-
|
|
79
79
|
</ul>
|
|
80
80
|
|
|
81
81
|
<h2 id="classes">Classes and Modules</h2>
|
|
@@ -104,6 +104,9 @@
|
|
|
104
104
|
<li class="class">
|
|
105
105
|
<a href="RubyXL/AlternateContent.html">RubyXL::AlternateContent</a>
|
|
106
106
|
</li>
|
|
107
|
+
<li class="class">
|
|
108
|
+
<a href="RubyXL/AlternateUrls.html">RubyXL::AlternateUrls</a>
|
|
109
|
+
</li>
|
|
107
110
|
<li class="class">
|
|
108
111
|
<a href="RubyXL/Authors.html">RubyXL::Authors</a>
|
|
109
112
|
</li>
|
|
@@ -890,6 +893,15 @@
|
|
|
890
893
|
<li class="class">
|
|
891
894
|
<a href="RubyXL/OlapProperties.html">RubyXL::OlapProperties</a>
|
|
892
895
|
</li>
|
|
896
|
+
<li class="class">
|
|
897
|
+
<a href="RubyXL/OleItem.html">RubyXL::OleItem</a>
|
|
898
|
+
</li>
|
|
899
|
+
<li class="class">
|
|
900
|
+
<a href="RubyXL/OleItems.html">RubyXL::OleItems</a>
|
|
901
|
+
</li>
|
|
902
|
+
<li class="class">
|
|
903
|
+
<a href="RubyXL/OleLink.html">RubyXL::OleLink</a>
|
|
904
|
+
</li>
|
|
893
905
|
<li class="class">
|
|
894
906
|
<a href="RubyXL/OutlineProperties.html">RubyXL::OutlineProperties</a>
|
|
895
907
|
</li>
|
|
@@ -911,6 +923,9 @@
|
|
|
911
923
|
<li class="class">
|
|
912
924
|
<a href="RubyXL/PatternFill.html">RubyXL::PatternFill</a>
|
|
913
925
|
</li>
|
|
926
|
+
<li class="class">
|
|
927
|
+
<a href="RubyXL/PersonMetadata.html">RubyXL::PersonMetadata</a>
|
|
928
|
+
</li>
|
|
914
929
|
<li class="class">
|
|
915
930
|
<a href="RubyXL/PhoneticProperties.html">RubyXL::PhoneticProperties</a>
|
|
916
931
|
</li>
|
|
@@ -1055,6 +1070,9 @@
|
|
|
1055
1070
|
<li class="class">
|
|
1056
1071
|
<a href="RubyXL/SheetDataSet.html">RubyXL::SheetDataSet</a>
|
|
1057
1072
|
</li>
|
|
1073
|
+
<li class="class">
|
|
1074
|
+
<a href="RubyXL/SheetMetadata.html">RubyXL::SheetMetadata</a>
|
|
1075
|
+
</li>
|
|
1058
1076
|
<li class="class">
|
|
1059
1077
|
<a href="RubyXL/SheetName.html">RubyXL::SheetName</a>
|
|
1060
1078
|
</li>
|
|
@@ -1222,6 +1240,11 @@
|
|
|
1222
1240
|
<h2 id="methods">Methods</h2>
|
|
1223
1241
|
<ul>
|
|
1224
1242
|
|
|
1243
|
+
<li class="method">
|
|
1244
|
+
<a href="RubyXL/ColumnRange.html#method-c-chars2raw">::chars2raw</a>
|
|
1245
|
+
—
|
|
1246
|
+
<span class="container">RubyXL::ColumnRange</span>
|
|
1247
|
+
|
|
1225
1248
|
<li class="method">
|
|
1226
1249
|
<a href="RubyXL/Borders.html#method-c-default">::default</a>
|
|
1227
1250
|
—
|
|
@@ -1477,6 +1500,11 @@
|
|
|
1477
1500
|
—
|
|
1478
1501
|
<span class="container">RubyXL::LegacyWorksheet</span>
|
|
1479
1502
|
|
|
1503
|
+
<li class="method">
|
|
1504
|
+
<a href="RubyXL/CellConvenienceMethods.html#method-i-add_hyperlink">#add_hyperlink</a>
|
|
1505
|
+
—
|
|
1506
|
+
<span class="container">RubyXL::CellConvenienceMethods</span>
|
|
1507
|
+
|
|
1480
1508
|
<li class="method">
|
|
1481
1509
|
<a href="RubyXL/OOXMLRelationshipsFile.html#method-i-add_relationship">#add_relationship</a>
|
|
1482
1510
|
—
|
|
@@ -1497,6 +1525,11 @@
|
|
|
1497
1525
|
—
|
|
1498
1526
|
<span class="container">RubyXL::GenericStorageObject</span>
|
|
1499
1527
|
|
|
1528
|
+
<li class="method">
|
|
1529
|
+
<a href="RubyXL/WorksheetConvenienceMethods.html#method-i-add_validation_list">#add_validation_list</a>
|
|
1530
|
+
—
|
|
1531
|
+
<span class="container">RubyXL::WorksheetConvenienceMethods</span>
|
|
1532
|
+
|
|
1500
1533
|
<li class="method">
|
|
1501
1534
|
<a href="RubyXL/Workbook.html#method-i-add_worksheet">#add_worksheet</a>
|
|
1502
1535
|
—
|
|
@@ -1622,6 +1655,11 @@
|
|
|
1622
1655
|
—
|
|
1623
1656
|
<span class="container">RubyXL::WorkbookConvenienceMethods</span>
|
|
1624
1657
|
|
|
1658
|
+
<li class="method">
|
|
1659
|
+
<a href="RubyXL/Worksheet.html#method-i-cell_at">#cell_at</a>
|
|
1660
|
+
—
|
|
1661
|
+
<span class="container">RubyXL::Worksheet</span>
|
|
1662
|
+
|
|
1625
1663
|
<li class="method">
|
|
1626
1664
|
<a href="RubyXL/WorkbookConvenienceMethods.html#method-i-cell_xfs">#cell_xfs</a>
|
|
1627
1665
|
—
|
|
@@ -1842,6 +1880,11 @@
|
|
|
1842
1880
|
—
|
|
1843
1881
|
<span class="container">RubyXL::WorksheetConvenienceMethods</span>
|
|
1844
1882
|
|
|
1883
|
+
<li class="method">
|
|
1884
|
+
<a href="RubyXL/CellConvenienceMethods.html#method-i-change_shrink_to_fit">#change_shrink_to_fit</a>
|
|
1885
|
+
—
|
|
1886
|
+
<span class="container">RubyXL::CellConvenienceMethods</span>
|
|
1887
|
+
|
|
1845
1888
|
<li class="method">
|
|
1846
1889
|
<a href="RubyXL/CellConvenienceMethods.html#method-i-change_text_indent">#change_text_indent</a>
|
|
1847
1890
|
—
|
|
@@ -1977,6 +2020,11 @@
|
|
|
1977
2020
|
—
|
|
1978
2021
|
<span class="container">RubyXL::WorkbookConvenienceMethods</span>
|
|
1979
2022
|
|
|
2023
|
+
<li class="method">
|
|
2024
|
+
<a href="RubyXL/OOXMLObjectClassMethods.html#method-i-define_relationship">#define_relationship</a>
|
|
2025
|
+
—
|
|
2026
|
+
<span class="container">RubyXL::OOXMLObjectClassMethods</span>
|
|
2027
|
+
|
|
1980
2028
|
<li class="method">
|
|
1981
2029
|
<a href="RubyXL/RelationshipSupport/ClassMehods.html#method-i-define_relationship">#define_relationship</a>
|
|
1982
2030
|
—
|
|
@@ -2772,6 +2820,16 @@
|
|
|
2772
2820
|
—
|
|
2773
2821
|
<span class="container">RubyXL::CellConvenienceMethods</span>
|
|
2774
2822
|
|
|
2823
|
+
<li class="method">
|
|
2824
|
+
<a href="RubyXL/WorkbookConvenienceMethods.html#method-i-title">#title</a>
|
|
2825
|
+
—
|
|
2826
|
+
<span class="container">RubyXL::WorkbookConvenienceMethods</span>
|
|
2827
|
+
|
|
2828
|
+
<li class="method">
|
|
2829
|
+
<a href="RubyXL/WorkbookConvenienceMethods.html#method-i-title-3D">#title=</a>
|
|
2830
|
+
—
|
|
2831
|
+
<span class="container">RubyXL::WorkbookConvenienceMethods</span>
|
|
2832
|
+
|
|
2775
2833
|
<li class="method">
|
|
2776
2834
|
<a href="RubyXL/ColorConvenienceClasses/RgbColor.html#method-i-to_hls">#to_hls</a>
|
|
2777
2835
|
—
|
|
@@ -2817,6 +2875,11 @@
|
|
|
2817
2875
|
—
|
|
2818
2876
|
<span class="container">RubyXL::StringNodeW3C</span>
|
|
2819
2877
|
|
|
2878
|
+
<li class="method">
|
|
2879
|
+
<a href="RubyXL/Reference.html#method-i-valid-3F">#valid?</a>
|
|
2880
|
+
—
|
|
2881
|
+
<span class="container">RubyXL::Reference</span>
|
|
2882
|
+
|
|
2820
2883
|
<li class="method">
|
|
2821
2884
|
<a href="RubyXL/Cell.html#method-i-value">#value</a>
|
|
2822
2885
|
—
|
|
@@ -2952,7 +3015,7 @@
|
|
|
2952
3015
|
|
|
2953
3016
|
<footer id="validator-badges" role="contentinfo">
|
|
2954
3017
|
<p><a href="https://validator.w3.org/check/referer">Validate</a>
|
|
2955
|
-
<p>Generated by <a href="https://ruby.github.io/rdoc/">RDoc</a> 6.
|
|
3018
|
+
<p>Generated by <a href="https://ruby.github.io/rdoc/">RDoc</a> 6.6.3.1.
|
|
2956
3019
|
<p>Based on <a href="http://deveiate.org/projects/Darkfish-RDoc/">Darkfish</a> by <a href="http://deveiate.org">Michael Granger</a>.
|
|
2957
3020
|
</footer>
|
|
2958
3021
|
|
data/rubyXL.gemspec
CHANGED
|
@@ -1,17 +1,17 @@
|
|
|
1
|
-
# Generated by
|
|
1
|
+
# Generated by juwelier
|
|
2
2
|
# DO NOT EDIT THIS FILE DIRECTLY
|
|
3
|
-
# Instead, edit
|
|
3
|
+
# Instead, edit Juwelier::Tasks in Rakefile, and run 'rake gemspec'
|
|
4
4
|
# -*- encoding: utf-8 -*-
|
|
5
|
-
# stub: rubyXL 3.4.
|
|
5
|
+
# stub: rubyXL 3.4.33 ruby lib
|
|
6
6
|
|
|
7
7
|
Gem::Specification.new do |s|
|
|
8
8
|
s.name = "rubyXL".freeze
|
|
9
|
-
s.version = "3.4.
|
|
9
|
+
s.version = "3.4.33"
|
|
10
10
|
|
|
11
11
|
s.required_rubygems_version = Gem::Requirement.new(">= 0".freeze) if s.respond_to? :required_rubygems_version=
|
|
12
12
|
s.require_paths = ["lib".freeze]
|
|
13
13
|
s.authors = ["Vivek Bhagwat".freeze, "Wesha".freeze]
|
|
14
|
-
s.date = "
|
|
14
|
+
s.date = "2024-12-20"
|
|
15
15
|
s.description = "rubyXL is a gem which allows the parsing, creation, and manipulation of Microsoft Excel (.xlsx/.xlsm) Documents".freeze
|
|
16
16
|
s.email = "bhagwat.vivek@gmail.com".freeze
|
|
17
17
|
s.extra_rdoc_files = [
|
|
@@ -21,8 +21,9 @@ Gem::Specification.new do |s|
|
|
|
21
21
|
s.files = [
|
|
22
22
|
".circleci/config.yml",
|
|
23
23
|
".codeclimate.yml",
|
|
24
|
+
".rubocop.yml",
|
|
25
|
+
"CHANGELOG.md",
|
|
24
26
|
"Gemfile",
|
|
25
|
-
"Gemfile.lock",
|
|
26
27
|
"LICENSE.txt",
|
|
27
28
|
"README.rdoc",
|
|
28
29
|
"Rakefile",
|
|
@@ -79,6 +80,7 @@ Gem::Specification.new do |s|
|
|
|
79
80
|
"rdoc/RubyXL/AdjustHandleList.html",
|
|
80
81
|
"rdoc/RubyXL/Alignment.html",
|
|
81
82
|
"rdoc/RubyXL/AlternateContent.html",
|
|
83
|
+
"rdoc/RubyXL/AlternateUrls.html",
|
|
82
84
|
"rdoc/RubyXL/Authors.html",
|
|
83
85
|
"rdoc/RubyXL/AutoFilter.html",
|
|
84
86
|
"rdoc/RubyXL/AutoFilterColumn.html",
|
|
@@ -341,6 +343,9 @@ Gem::Specification.new do |s|
|
|
|
341
343
|
"rdoc/RubyXL/OdbcOleDbProperties.html",
|
|
342
344
|
"rdoc/RubyXL/Offset.html",
|
|
343
345
|
"rdoc/RubyXL/OlapProperties.html",
|
|
346
|
+
"rdoc/RubyXL/OleItem.html",
|
|
347
|
+
"rdoc/RubyXL/OleItems.html",
|
|
348
|
+
"rdoc/RubyXL/OleLink.html",
|
|
344
349
|
"rdoc/RubyXL/OutlineProperties.html",
|
|
345
350
|
"rdoc/RubyXL/PageMargins.html",
|
|
346
351
|
"rdoc/RubyXL/PageSetup.html",
|
|
@@ -348,6 +353,7 @@ Gem::Specification.new do |s|
|
|
|
348
353
|
"rdoc/RubyXL/Pane.html",
|
|
349
354
|
"rdoc/RubyXL/Parser.html",
|
|
350
355
|
"rdoc/RubyXL/PatternFill.html",
|
|
356
|
+
"rdoc/RubyXL/PersonMetadata.html",
|
|
351
357
|
"rdoc/RubyXL/PhoneticProperties.html",
|
|
352
358
|
"rdoc/RubyXL/PhoneticRun.html",
|
|
353
359
|
"rdoc/RubyXL/PivotArea.html",
|
|
@@ -396,6 +402,7 @@ Gem::Specification.new do |s|
|
|
|
396
402
|
"rdoc/RubyXL/SheetData.html",
|
|
397
403
|
"rdoc/RubyXL/SheetDataExt.html",
|
|
398
404
|
"rdoc/RubyXL/SheetDataSet.html",
|
|
405
|
+
"rdoc/RubyXL/SheetMetadata.html",
|
|
399
406
|
"rdoc/RubyXL/SheetName.html",
|
|
400
407
|
"rdoc/RubyXL/SheetNames.html",
|
|
401
408
|
"rdoc/RubyXL/Sheets.html",
|
|
@@ -512,43 +519,35 @@ Gem::Specification.new do |s|
|
|
|
512
519
|
]
|
|
513
520
|
s.homepage = "http://github.com/gilt/rubyXL".freeze
|
|
514
521
|
s.licenses = ["MIT".freeze]
|
|
515
|
-
s.rubygems_version = "
|
|
522
|
+
s.rubygems_version = "3.1.6".freeze
|
|
516
523
|
s.summary = "rubyXL is a gem which allows the parsing, creation, and manipulation of Microsoft Excel (.xlsx/.xlsm) Documents".freeze
|
|
517
524
|
|
|
518
525
|
if s.respond_to? :specification_version then
|
|
519
526
|
s.specification_version = 4
|
|
527
|
+
end
|
|
520
528
|
|
|
521
|
-
|
|
522
|
-
|
|
523
|
-
|
|
524
|
-
|
|
525
|
-
|
|
526
|
-
|
|
527
|
-
|
|
528
|
-
|
|
529
|
-
|
|
530
|
-
|
|
531
|
-
|
|
532
|
-
s.add_dependency(%q<nokogiri>.freeze, [">= 1.10.8"])
|
|
533
|
-
s.add_dependency(%q<rubyzip>.freeze, [">= 1.3.0"])
|
|
534
|
-
s.add_dependency(%q<bundler>.freeze, [">= 0"])
|
|
535
|
-
s.add_dependency(%q<rake>.freeze, [">= 0"])
|
|
536
|
-
s.add_dependency(%q<jeweler>.freeze, [">= 0"])
|
|
537
|
-
s.add_dependency(%q<rspec>.freeze, [">= 0"])
|
|
538
|
-
s.add_dependency(%q<simplecov>.freeze, [">= 0"])
|
|
539
|
-
s.add_dependency(%q<ruby-prof>.freeze, [">= 0"])
|
|
540
|
-
s.add_dependency(%q<rspec_junit_formatter>.freeze, [">= 0"])
|
|
541
|
-
end
|
|
529
|
+
if s.respond_to? :add_runtime_dependency then
|
|
530
|
+
s.add_runtime_dependency(%q<nokogiri>.freeze, [">= 1.10.8"])
|
|
531
|
+
s.add_runtime_dependency(%q<rubyzip>.freeze, [">= 1.3.0"])
|
|
532
|
+
s.add_development_dependency(%q<bundler>.freeze, [">= 0"])
|
|
533
|
+
s.add_development_dependency(%q<rake>.freeze, [">= 0"])
|
|
534
|
+
s.add_development_dependency(%q<juwelier>.freeze, [">= 0"])
|
|
535
|
+
s.add_development_dependency(%q<rspec>.freeze, [">= 0"])
|
|
536
|
+
s.add_development_dependency(%q<simplecov>.freeze, [">= 0"])
|
|
537
|
+
s.add_development_dependency(%q<ruby-prof>.freeze, [">= 0"])
|
|
538
|
+
s.add_development_dependency(%q<rspec_junit_formatter>.freeze, [">= 0"])
|
|
539
|
+
s.add_development_dependency(%q<rubocop>.freeze, [">= 0"])
|
|
542
540
|
else
|
|
543
541
|
s.add_dependency(%q<nokogiri>.freeze, [">= 1.10.8"])
|
|
544
542
|
s.add_dependency(%q<rubyzip>.freeze, [">= 1.3.0"])
|
|
545
543
|
s.add_dependency(%q<bundler>.freeze, [">= 0"])
|
|
546
544
|
s.add_dependency(%q<rake>.freeze, [">= 0"])
|
|
547
|
-
s.add_dependency(%q<
|
|
545
|
+
s.add_dependency(%q<juwelier>.freeze, [">= 0"])
|
|
548
546
|
s.add_dependency(%q<rspec>.freeze, [">= 0"])
|
|
549
547
|
s.add_dependency(%q<simplecov>.freeze, [">= 0"])
|
|
550
548
|
s.add_dependency(%q<ruby-prof>.freeze, [">= 0"])
|
|
551
549
|
s.add_dependency(%q<rspec_junit_formatter>.freeze, [">= 0"])
|
|
550
|
+
s.add_dependency(%q<rubocop>.freeze, [">= 0"])
|
|
552
551
|
end
|
|
553
552
|
end
|
|
554
553
|
|
data/spec/lib/cell_spec.rb
CHANGED
|
@@ -1,16 +1,17 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
1
3
|
require 'spec_helper'
|
|
2
4
|
require 'bigdecimal'
|
|
3
5
|
require 'rubyXL/convenience_methods/font'
|
|
4
6
|
require 'rubyXL/convenience_methods/cell'
|
|
5
7
|
|
|
6
8
|
describe RubyXL::Cell do
|
|
7
|
-
|
|
8
9
|
before do
|
|
9
10
|
@workbook = RubyXL::Workbook.new
|
|
10
11
|
@worksheet = @workbook.add_worksheet('Test Worksheet')
|
|
11
12
|
@workbook.worksheets << @worksheet
|
|
12
|
-
|
|
13
|
-
|
|
13
|
+
11.times do |i|
|
|
14
|
+
11.times do |j|
|
|
14
15
|
@worksheet.add_cell(i, j, "#{i}:#{j}")
|
|
15
16
|
end
|
|
16
17
|
end
|
|
@@ -46,7 +47,50 @@ describe RubyXL::Cell do
|
|
|
46
47
|
cell.set_number_format('ddd mmm dd, yyyy HH:MM:SS')
|
|
47
48
|
|
|
48
49
|
# Due to rounding errors, we allow microsecond precision on DateTime.
|
|
49
|
-
expect((cell.value - tm).to_f).to be_within(1.0/86400e6).of(0)
|
|
50
|
+
expect((cell.value - tm).to_f).to be_within(1.0 / 86400e6).of(0)
|
|
51
|
+
|
|
52
|
+
tm = Time.now
|
|
53
|
+
cell = @worksheet.add_cell(r, c, tm)
|
|
54
|
+
cell.set_number_format('ddd mmm dd, yyyy HH:MM:SS')
|
|
55
|
+
|
|
56
|
+
# Due to rounding errors, we allow microsecond precision on Time.
|
|
57
|
+
expect(cell.value - tm.to_datetime).to be_within(1.0 / 86400e6).of(0)
|
|
58
|
+
|
|
59
|
+
expected_date = '2020-10-15T14:00:00Z'
|
|
60
|
+
expected_datetime = Time.parse(expected_date).utc
|
|
61
|
+
raw_value = '44119.583333333328' # Obtained from parsing a xlsx file with the expected date
|
|
62
|
+
cell = @worksheet.add_cell(r, c, Time.now) # Force a date cell type
|
|
63
|
+
cell.set_number_format('ddd mmm dd, yyyy HH:MM:SS')
|
|
64
|
+
cell.raw_value = raw_value
|
|
65
|
+
expect(cell.raw_value).to eq(raw_value), 'Wrong raw value'
|
|
66
|
+
cell.set_number_format('ddd mmm dd, yyyy HH:MM:SS')
|
|
67
|
+
|
|
68
|
+
# We expect exactly the same date
|
|
69
|
+
expect(cell.value.to_time.utc.iso8601).to eq(expected_datetime.iso8601)
|
|
70
|
+
end
|
|
71
|
+
|
|
72
|
+
it 'should raise against too long String' do
|
|
73
|
+
ok_data = 'A' * 32767 # The limit is 32767
|
|
74
|
+
|
|
75
|
+
expect {
|
|
76
|
+
@worksheet.add_cell(0, 1, ok_data) # 32767 -> OK
|
|
77
|
+
}.not_to raise_error
|
|
78
|
+
expect {
|
|
79
|
+
# 1 longer than the limit, so an exception must be thrown.
|
|
80
|
+
@worksheet.add_cell(0, 2, "#{ok_data}x")
|
|
81
|
+
}.to raise_error(ArgumentError)
|
|
82
|
+
end
|
|
83
|
+
|
|
84
|
+
it 'should raise against too long RichText' do
|
|
85
|
+
ok_data = 'A' * 32767 # The limit is 32767
|
|
86
|
+
|
|
87
|
+
expect {
|
|
88
|
+
@worksheet.add_cell(0, 1, RubyXL::RichText.new(:t => RubyXL::Text.new(:value => ok_data))) # 32767 -> OK
|
|
89
|
+
}.not_to raise_error
|
|
90
|
+
expect {
|
|
91
|
+
# 1 longer than the limit, so an exception must be thrown.
|
|
92
|
+
@worksheet.add_cell(0, 2, RubyXL::RichText.new(:t => RubyXL::Text.new(:value => "#{ok_data}x")))
|
|
93
|
+
}.to raise_error(ArgumentError)
|
|
50
94
|
end
|
|
51
95
|
end
|
|
52
96
|
|
|
@@ -171,7 +215,7 @@ describe RubyXL::Cell do
|
|
|
171
215
|
expect(@cell.text_indent).to eq(2)
|
|
172
216
|
end
|
|
173
217
|
|
|
174
|
-
it
|
|
218
|
+
it 'should not cause other cells with the same style to have text indent' do
|
|
175
219
|
another_cell = @worksheet[1][0]
|
|
176
220
|
another_cell.style_index = @cell.style_index
|
|
177
221
|
expect(another_cell.text_indent).to be_nil
|
|
@@ -266,7 +310,7 @@ describe RubyXL::Cell do
|
|
|
266
310
|
expect(cell.value).to eq('Hello')
|
|
267
311
|
end
|
|
268
312
|
|
|
269
|
-
it
|
|
313
|
+
it 'should properly handle numeric values' do
|
|
270
314
|
@cell.datatype = nil
|
|
271
315
|
@cell.raw_value = '1'
|
|
272
316
|
expect(@cell.value).to eq(1)
|
|
@@ -357,6 +401,12 @@ describe RubyXL::Cell do
|
|
|
357
401
|
end
|
|
358
402
|
end
|
|
359
403
|
|
|
404
|
+
context 'with RichText' do
|
|
405
|
+
it 'returns the value of the RichText' do
|
|
406
|
+
cell = RubyXL::Cell.new(is: RubyXL::RichText.new(t: RubyXL::Text.new(value: 'test')))
|
|
407
|
+
expect(cell.value).to eq('test')
|
|
408
|
+
end
|
|
409
|
+
end
|
|
360
410
|
end
|
|
361
411
|
|
|
362
412
|
describe '.change_contents' do
|
|
@@ -375,6 +425,15 @@ describe RubyXL::Cell do
|
|
|
375
425
|
expect(@cell.formula).to be_nil
|
|
376
426
|
end
|
|
377
427
|
|
|
428
|
+
it 'should cause cell value to match a time that is passed in' do
|
|
429
|
+
time = Time.parse('January 1, 2011')
|
|
430
|
+
@cell.change_contents(time)
|
|
431
|
+
expect(@cell).to receive(:is_date?).at_least(1).and_return(true)
|
|
432
|
+
expect(@cell.value).to eq(time.to_datetime)
|
|
433
|
+
expect(@cell.datatype).to be_nil
|
|
434
|
+
expect(@cell.formula).to be_nil
|
|
435
|
+
end
|
|
436
|
+
|
|
378
437
|
it 'should case cell value to match a Float that is passed in' do
|
|
379
438
|
number = 1.25
|
|
380
439
|
@cell.change_contents(number)
|
|
@@ -391,8 +450,8 @@ describe RubyXL::Cell do
|
|
|
391
450
|
expect(@cell.formula).to be_nil
|
|
392
451
|
end
|
|
393
452
|
|
|
394
|
-
it 'should
|
|
395
|
-
number = BigDecimal
|
|
453
|
+
it 'should cause cell value to match a BigDecimal that is passed in' do
|
|
454
|
+
number = BigDecimal('1234.5678')
|
|
396
455
|
@cell.change_contents(number)
|
|
397
456
|
expect(@cell.value).to eq(number)
|
|
398
457
|
expect(@cell.datatype).to be_nil
|
|
@@ -566,5 +625,4 @@ describe RubyXL::Cell do
|
|
|
566
625
|
expect(@cell.text_rotation).to eq(45)
|
|
567
626
|
end
|
|
568
627
|
end
|
|
569
|
-
|
|
570
628
|
end
|
data/spec/lib/color_spec.rb
CHANGED
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
1
3
|
require 'spec_helper'
|
|
2
4
|
require 'rubyXL/convenience_methods/color'
|
|
3
5
|
|
|
@@ -7,8 +9,13 @@ describe RubyXL::Color do
|
|
|
7
9
|
expect(RubyXL::Color.validate_color('0fbCAd')).to eq(true)
|
|
8
10
|
end
|
|
9
11
|
|
|
12
|
+
it 'should return true if a valid hex color with alpha is passed' do
|
|
13
|
+
expect(RubyXL::Color.validate_color('01AbCdeF')).to eq(true)
|
|
14
|
+
end
|
|
15
|
+
|
|
10
16
|
it 'should cause an error if an invalid hex color code or one with a # is passed' do
|
|
11
|
-
expect {RubyXL::Color.validate_color('#G')}.to raise_error(RuntimeError)
|
|
17
|
+
expect { RubyXL::Color.validate_color('#G') }.to raise_error(RuntimeError)
|
|
18
|
+
expect { RubyXL::Color.validate_color('1234567') }.to raise_error(RuntimeError)
|
|
12
19
|
end
|
|
13
20
|
end
|
|
14
21
|
end
|
data/spec/lib/parser_spec.rb
CHANGED
|
@@ -1,25 +1,28 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
require 'English'
|
|
1
4
|
require 'spec_helper'
|
|
2
5
|
require 'tmpdir'
|
|
3
6
|
|
|
4
7
|
describe RubyXL::Parser do
|
|
5
|
-
|
|
6
8
|
before do
|
|
7
|
-
@test_sheet_name =
|
|
9
|
+
@test_sheet_name = 'This is a very long sheet name that should be trimmed ' \
|
|
10
|
+
'to 31 characters for compatibility with MS Excel'
|
|
8
11
|
@workbook = RubyXL::Workbook.new
|
|
9
|
-
@workbook.add_worksheet(
|
|
12
|
+
@workbook.add_worksheet('Test Worksheet')
|
|
10
13
|
@time = Time.at(Time.now.to_i) # Excel only saves times with 1-second precision.
|
|
11
14
|
@time2 = @time + 123456
|
|
12
15
|
|
|
13
|
-
ws = @workbook.add_worksheet(
|
|
14
|
-
ws.add_cell(0, 0,
|
|
15
|
-
ws.add_cell(0, 1,
|
|
16
|
-
ws.add_cell(0, 2,
|
|
17
|
-
ws.add_cell(0, 3,
|
|
16
|
+
ws = @workbook.add_worksheet('Escape Test')
|
|
17
|
+
ws.add_cell(0, 0, '&')
|
|
18
|
+
ws.add_cell(0, 1, '<')
|
|
19
|
+
ws.add_cell(0, 2, '>')
|
|
20
|
+
ws.add_cell(0, 3, '')
|
|
18
21
|
|
|
19
|
-
ws.add_cell(1, 0,
|
|
20
|
-
ws.add_cell(1, 1,
|
|
21
|
-
ws.add_cell(1, 2,
|
|
22
|
-
ws.add_cell(1, 3,
|
|
22
|
+
ws.add_cell(1, 0, '&') #TODO# .datatype = RubyXL::Cell::SHARED_STRING
|
|
23
|
+
ws.add_cell(1, 1, '<') #TODO# .datatype = RubyXL::Cell::SHARED_STRING
|
|
24
|
+
ws.add_cell(1, 2, '>') #TODO# .datatype = RubyXL::Cell::SHARED_STRING
|
|
25
|
+
ws.add_cell(1, 3, '')
|
|
23
26
|
|
|
24
27
|
ws.add_cell(2, 0, 0)
|
|
25
28
|
ws.add_cell(2, 1, 12345)
|
|
@@ -35,13 +38,13 @@ describe RubyXL::Parser do
|
|
|
35
38
|
|
|
36
39
|
@workbook.add_worksheet(@test_sheet_name)
|
|
37
40
|
|
|
38
|
-
@workbook.creator =
|
|
39
|
-
@workbook.modifier =
|
|
41
|
+
@workbook.creator = 'test creator'
|
|
42
|
+
@workbook.modifier = 'test modifier'
|
|
40
43
|
@workbook.created_at = @time
|
|
41
44
|
@workbook.modified_at = @time2
|
|
42
45
|
|
|
43
46
|
@time_str = Time.now.to_s
|
|
44
|
-
@file = "rubyXL-#{
|
|
47
|
+
@file = "rubyXL-#{$PROCESS_ID}-#{DateTime.now.strftime('%Q')}.xlsx"
|
|
45
48
|
@workbook.write(@file)
|
|
46
49
|
end
|
|
47
50
|
|
|
@@ -58,7 +61,7 @@ describe RubyXL::Parser do
|
|
|
58
61
|
end
|
|
59
62
|
|
|
60
63
|
it 'should cause an error if an xlsx or xlsm workbook is not passed' do
|
|
61
|
-
expect {@workbook2 = RubyXL::Parser.parse(
|
|
64
|
+
expect { @workbook2 = RubyXL::Parser.parse('nonexistent_file.tmp') }.to raise_error(Zip::Error)
|
|
62
65
|
end
|
|
63
66
|
|
|
64
67
|
it 'should construct consistent number formats' do
|
|
@@ -69,19 +72,19 @@ describe RubyXL::Parser do
|
|
|
69
72
|
|
|
70
73
|
it 'should unescape HTML entities properly' do
|
|
71
74
|
@workbook2 = RubyXL::Parser.parse(@file)
|
|
72
|
-
expect(@workbook2[
|
|
73
|
-
expect(@workbook2[
|
|
74
|
-
expect(@workbook2[
|
|
75
|
+
expect(@workbook2['Escape Test'][0][0].value).to eq('&')
|
|
76
|
+
expect(@workbook2['Escape Test'][0][1].value).to eq('<')
|
|
77
|
+
expect(@workbook2['Escape Test'][0][2].value).to eq('>')
|
|
75
78
|
|
|
76
|
-
expect(@workbook2[
|
|
77
|
-
expect(@workbook2[
|
|
78
|
-
expect(@workbook2[
|
|
79
|
+
expect(@workbook2['Escape Test'][1][0].value).to eq('&')
|
|
80
|
+
expect(@workbook2['Escape Test'][1][1].value).to eq('<')
|
|
81
|
+
expect(@workbook2['Escape Test'][1][2].value).to eq('>')
|
|
79
82
|
end
|
|
80
83
|
|
|
81
84
|
it 'should parse Core properties correctly' do
|
|
82
85
|
@workbook2 = RubyXL::Parser.parse(@file)
|
|
83
|
-
expect(@workbook2.creator).to eq(
|
|
84
|
-
expect(@workbook2.modifier).to eq(
|
|
86
|
+
expect(@workbook2.creator).to eq('test creator')
|
|
87
|
+
expect(@workbook2.modifier).to eq('test modifier')
|
|
85
88
|
expect(@workbook2.created_at).to eq(@time)
|
|
86
89
|
expect(@workbook2.modified_at).to eq(@time2)
|
|
87
90
|
end
|
|
@@ -91,11 +94,9 @@ describe RubyXL::Parser do
|
|
|
91
94
|
expect(@workbook2[@test_sheet_name]).to be_nil
|
|
92
95
|
expect(@workbook2[@test_sheet_name[0..30]]).not_to be_nil
|
|
93
96
|
end
|
|
94
|
-
|
|
95
97
|
end
|
|
96
98
|
|
|
97
99
|
describe 'parse_buffer' do
|
|
98
|
-
|
|
99
100
|
it 'should parse string buffer correctly' do
|
|
100
101
|
buffer = File.read(@file)
|
|
101
102
|
expect(buffer).to be_instance_of(String)
|
|
@@ -109,10 +110,9 @@ describe RubyXL::Parser do
|
|
|
109
110
|
f = RubyXL::Parser.parse_buffer(io)
|
|
110
111
|
expect(f).to be_instance_of(RubyXL::Workbook)
|
|
111
112
|
end
|
|
112
|
-
|
|
113
113
|
end
|
|
114
114
|
|
|
115
115
|
after do
|
|
116
|
-
|
|
116
|
+
FileUtils.rm_f(@file)
|
|
117
117
|
end
|
|
118
118
|
end
|
data/spec/lib/reference_spec.rb
CHANGED
|
@@ -1,9 +1,10 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
1
3
|
require 'spec_helper'
|
|
2
4
|
|
|
3
5
|
describe RubyXL::Reference do
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
it 'should correctly return the "Excel Style" description of cells when given a row/column number' do
|
|
6
|
+
describe '.ind2ref' do
|
|
7
|
+
it "should correctly return the 'Excel Style' description of cells when given a row/column number" do
|
|
7
8
|
expect(RubyXL::Reference.ind2ref(0, 26)).to eq('AA1')
|
|
8
9
|
expect(RubyXL::Reference.ind2ref(99, 0)).to eq('A100')
|
|
9
10
|
expect(RubyXL::Reference.ind2ref(0, 26)).to eq('AA1')
|
|
@@ -14,15 +15,50 @@ describe RubyXL::Reference do
|
|
|
14
15
|
expect(RubyXL::Reference.ind2ref(0, 16383)).to eq('XFD1')
|
|
15
16
|
end
|
|
16
17
|
|
|
17
|
-
it
|
|
18
|
+
it "should correctly convert back and forth between 'Excel Style' and index style cell references" do
|
|
18
19
|
0.upto(16383) do |n|
|
|
19
20
|
expect(RubyXL::Reference.ref2ind(RubyXL::Reference.ind2ref(n, 16383 - n))).to eq([ n, 16383 - n ])
|
|
20
21
|
end
|
|
21
22
|
end
|
|
23
|
+
end
|
|
24
|
+
|
|
25
|
+
describe '.valid?' do
|
|
26
|
+
it 'should return true for valid references' do
|
|
27
|
+
expect(RubyXL::Reference.new('C23').valid?).to be true
|
|
28
|
+
end
|
|
29
|
+
|
|
30
|
+
it 'should return false for invalid references' do
|
|
31
|
+
expect(RubyXL::Reference.new('C2A').valid?).to be false
|
|
32
|
+
end
|
|
33
|
+
end
|
|
22
34
|
|
|
35
|
+
describe '.ref2ind' do
|
|
23
36
|
it 'should return [-1, -1] if the Excel index is not well-formed' do
|
|
24
37
|
expect(RubyXL::Reference.ref2ind('A1B')).to eq([-1, -1])
|
|
25
38
|
end
|
|
26
39
|
end
|
|
27
40
|
|
|
28
|
-
|
|
41
|
+
describe '.new' do
|
|
42
|
+
it 'should take a string parameter' do
|
|
43
|
+
new_ref = RubyXL::Reference.new('C23')
|
|
44
|
+
expect(new_ref.single_cell?).to be true
|
|
45
|
+
expect(new_ref.to_s).to eq 'C23'
|
|
46
|
+
end
|
|
47
|
+
|
|
48
|
+
it 'should take 2 coordinate parameters' do
|
|
49
|
+
new_ref = RubyXL::Reference.new(11, 22)
|
|
50
|
+
expect(new_ref.single_cell?).to be true
|
|
51
|
+
expect(new_ref.to_s).to eq 'W12'
|
|
52
|
+
end
|
|
53
|
+
|
|
54
|
+
it 'should take 4 coordinate parameters' do
|
|
55
|
+
new_ref = RubyXL::Reference.new(11, 22, 33, 44)
|
|
56
|
+
expect(new_ref.single_cell?).to be false
|
|
57
|
+
expect(new_ref.to_s).to eq 'AH12:AS23'
|
|
58
|
+
end
|
|
59
|
+
|
|
60
|
+
it 'should take named parameters' do
|
|
61
|
+
expect(RubyXL::Reference.new(row_from: 44, row_to: 33, col_from: 22, col_to: 11).to_s).to eq('W45:L34')
|
|
62
|
+
end
|
|
63
|
+
end
|
|
64
|
+
end
|