rubyXL 3.4.15 → 3.4.20
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.circleci/config.yml +2 -1
- data/Gemfile +1 -1
- data/Gemfile.lock +75 -43
- data/README.rdoc +6 -3
- data/Rakefile +3 -3
- data/VERSION +1 -1
- data/lib/rubyXL/convenience_methods/cell.rb +1 -1
- data/lib/rubyXL/convenience_methods/worksheet.rb +65 -0
- data/lib/rubyXL/objects/chartsheet.rb +1 -1
- data/lib/rubyXL/objects/external_links.rb +25 -1
- data/lib/rubyXL/objects/ooxml_object.rb +5 -0
- data/lib/rubyXL/objects/reference.rb +2 -5
- data/lib/rubyXL/objects/relationships.rb +1 -1
- data/lib/rubyXL/objects/sheet_data.rb +2 -1
- data/lib/rubyXL/objects/text.rb +2 -1
- data/lib/rubyXL/objects/theme.rb +1 -1
- data/lib/rubyXL/objects/workbook.rb +8 -5
- data/lib/rubyXL/objects/worksheet.rb +7 -7
- data/rdoc/README_rdoc.html +18 -11
- data/rdoc/RubyXL/AExtension.html +9 -51
- data/rdoc/RubyXL/AExtensionStorageArea.html +5 -14
- data/rdoc/RubyXL/ActiveX.html +10 -41
- data/rdoc/RubyXL/ActiveXBinary.html +5 -19
- data/rdoc/RubyXL/AdjustHandleList.html +5 -14
- data/rdoc/RubyXL/Alignment.html +5 -14
- data/rdoc/RubyXL/AlternateContent.html +5 -14
- data/rdoc/RubyXL/Authors.html +5 -14
- data/rdoc/RubyXL/AutoFilter.html +5 -14
- data/rdoc/RubyXL/AutoFilterColumn.html +5 -14
- data/rdoc/RubyXL/BinaryImageFile.html +5 -22
- data/rdoc/RubyXL/BodyProperties.html +5 -14
- data/rdoc/RubyXL/BooleanNode.html +5 -14
- data/rdoc/RubyXL/BooleanValue.html +5 -14
- data/rdoc/RubyXL/Border.html +8 -70
- data/rdoc/RubyXL/BorderEdge.html +8 -44
- data/rdoc/RubyXL/Borders.html +8 -31
- data/rdoc/RubyXL/Break.html +5 -14
- data/rdoc/RubyXL/BreakList.html +5 -14
- data/rdoc/RubyXL/CT_AdjPoint2D.html +5 -14
- data/rdoc/RubyXL/CT_AlphaBiLevelEffect.html +5 -14
- data/rdoc/RubyXL/CT_AlphaModulateEffect.html +5 -14
- data/rdoc/RubyXL/CT_AlphaModulateFixedEffect.html +5 -14
- data/rdoc/RubyXL/CT_AlphaOutsetEffect.html +5 -14
- data/rdoc/RubyXL/CT_AlphaReplaceEffect.html +5 -14
- data/rdoc/RubyXL/CT_Backdrop.html +5 -14
- data/rdoc/RubyXL/CT_Bevel.html +5 -14
- data/rdoc/RubyXL/CT_BiLevelEffect.html +5 -14
- data/rdoc/RubyXL/CT_BlendEffect.html +5 -14
- data/rdoc/RubyXL/CT_Blip.html +5 -14
- data/rdoc/RubyXL/CT_BlipFillProperties.html +5 -14
- data/rdoc/RubyXL/CT_BlurEffect.html +5 -14
- data/rdoc/RubyXL/CT_Camera.html +5 -14
- data/rdoc/RubyXL/CT_Color.html +5 -14
- data/rdoc/RubyXL/CT_ColorChangeEffect.html +5 -14
- data/rdoc/RubyXL/CT_ColorMapping.html +5 -14
- data/rdoc/RubyXL/CT_ColorScheme.html +5 -14
- data/rdoc/RubyXL/CT_ColorSchemeAndMapping.html +5 -14
- data/rdoc/RubyXL/CT_ConnectionSite.html +5 -14
- data/rdoc/RubyXL/CT_ConnectionSiteList.html +5 -14
- data/rdoc/RubyXL/CT_DashStop.html +5 -14
- data/rdoc/RubyXL/CT_DashStopList.html +5 -14
- data/rdoc/RubyXL/CT_DefaultShapeDefinition.html +5 -14
- data/rdoc/RubyXL/CT_DuotoneEffect.html +5 -14
- data/rdoc/RubyXL/CT_EffectContainer.html +5 -14
- data/rdoc/RubyXL/CT_EffectList.html +5 -14
- data/rdoc/RubyXL/CT_EffectReference.html +5 -14
- data/rdoc/RubyXL/CT_EffectStyleItem.html +5 -14
- data/rdoc/RubyXL/CT_EffectStyleList.html +5 -14
- data/rdoc/RubyXL/CT_EmbeddedWAVAudioFile.html +5 -14
- data/rdoc/RubyXL/CT_FillEffect.html +5 -14
- data/rdoc/RubyXL/CT_FillOverlayEffect.html +5 -14
- data/rdoc/RubyXL/CT_FillStyleList.html +5 -14
- data/rdoc/RubyXL/CT_FlatText.html +5 -14
- data/rdoc/RubyXL/CT_FontCollection.html +5 -14
- data/rdoc/RubyXL/CT_FontReference.html +5 -14
- data/rdoc/RubyXL/CT_GeomGuideList.html +5 -14
- data/rdoc/RubyXL/CT_GlowEffect.html +5 -14
- data/rdoc/RubyXL/CT_GradientFillProperties.html +5 -14
- data/rdoc/RubyXL/CT_GradientStop.html +5 -14
- data/rdoc/RubyXL/CT_GradientStopList.html +5 -14
- data/rdoc/RubyXL/CT_HSLEffect.html +5 -14
- data/rdoc/RubyXL/CT_HslColor.html +5 -14
- data/rdoc/RubyXL/CT_Hyperlink.html +5 -14
- data/rdoc/RubyXL/CT_InnerShadowEffect.html +5 -14
- data/rdoc/RubyXL/CT_LightRig.html +5 -14
- data/rdoc/RubyXL/CT_LineEndProperties.html +5 -14
- data/rdoc/RubyXL/CT_LineJoinMiterProperties.html +5 -14
- data/rdoc/RubyXL/CT_LineProperties.html +5 -14
- data/rdoc/RubyXL/CT_LineStyleList.html +5 -14
- data/rdoc/RubyXL/CT_LinearShadeProperties.html +5 -14
- data/rdoc/RubyXL/CT_LuminanceEffect.html +5 -14
- data/rdoc/RubyXL/CT_ObjectStyleDefaults.html +5 -14
- data/rdoc/RubyXL/CT_OuterShadowEffect.html +5 -14
- data/rdoc/RubyXL/CT_Path2D.html +5 -14
- data/rdoc/RubyXL/CT_Path2DArcTo.html +5 -14
- data/rdoc/RubyXL/CT_Path2DCubicBezierTo.html +5 -14
- data/rdoc/RubyXL/CT_Path2DList.html +5 -14
- data/rdoc/RubyXL/CT_Path2DQuadBezierTo.html +5 -14
- data/rdoc/RubyXL/CT_Path2DTo.html +5 -14
- data/rdoc/RubyXL/CT_PathShadeProperties.html +5 -14
- data/rdoc/RubyXL/CT_PatternFillProperties.html +5 -14
- data/rdoc/RubyXL/CT_Point3D.html +5 -14
- data/rdoc/RubyXL/CT_PolarAdjustHandle.html +5 -14
- data/rdoc/RubyXL/CT_PresetColor.html +5 -14
- data/rdoc/RubyXL/CT_PresetLineDashProperties.html +5 -14
- data/rdoc/RubyXL/CT_PresetShadowEffect.html +5 -14
- data/rdoc/RubyXL/CT_PresetTextShape.html +5 -14
- data/rdoc/RubyXL/CT_ReflectionEffect.html +5 -14
- data/rdoc/RubyXL/CT_RelativeOffsetEffect.html +5 -14
- data/rdoc/RubyXL/CT_RelativeRect.html +5 -14
- data/rdoc/RubyXL/CT_SRgbColor.html +5 -14
- data/rdoc/RubyXL/CT_ScRgbColor.html +5 -14
- data/rdoc/RubyXL/CT_Scene3D.html +5 -14
- data/rdoc/RubyXL/CT_SchemeColor.html +5 -14
- data/rdoc/RubyXL/CT_Shape3D.html +5 -14
- data/rdoc/RubyXL/CT_ShapeStyle.html +5 -14
- data/rdoc/RubyXL/CT_SoftEdgesEffect.html +5 -14
- data/rdoc/RubyXL/CT_SphereCoords.html +5 -14
- data/rdoc/RubyXL/CT_StretchInfoProperties.html +5 -14
- data/rdoc/RubyXL/CT_StyleMatrix.html +5 -14
- data/rdoc/RubyXL/CT_StyleMatrixReference.html +5 -14
- data/rdoc/RubyXL/CT_SupplementalFont.html +5 -14
- data/rdoc/RubyXL/CT_SystemColor.html +5 -14
- data/rdoc/RubyXL/CT_TextAutonumberBullet.html +5 -14
- data/rdoc/RubyXL/CT_TextBlipBullet.html +5 -14
- data/rdoc/RubyXL/CT_TextCharBullet.html +5 -14
- data/rdoc/RubyXL/CT_TextCharacterProperties.html +5 -14
- data/rdoc/RubyXL/CT_TextFont.html +5 -14
- data/rdoc/RubyXL/CT_TextListStyle.html +5 -14
- data/rdoc/RubyXL/CT_TextNormalAutofit.html +5 -14
- data/rdoc/RubyXL/CT_TextParagraphProperties.html +5 -14
- data/rdoc/RubyXL/CT_TextSpacing.html +5 -14
- data/rdoc/RubyXL/CT_TextTabStop.html +5 -14
- data/rdoc/RubyXL/CT_TextTabStopList.html +5 -14
- data/rdoc/RubyXL/CT_TileInfoProperties.html +5 -14
- data/rdoc/RubyXL/CT_TintEffect.html +5 -14
- data/rdoc/RubyXL/CT_Transform2D.html +5 -14
- data/rdoc/RubyXL/CT_TransformEffect.html +5 -14
- data/rdoc/RubyXL/CT_Vector3D.html +5 -14
- data/rdoc/RubyXL/CT_XYAdjustHandle.html +5 -14
- data/rdoc/RubyXL/CalculationChain.html +8 -39
- data/rdoc/RubyXL/CalculationChainCell.html +5 -14
- data/rdoc/RubyXL/CalculationProperties.html +5 -14
- data/rdoc/RubyXL/Cell.html +13 -217
- data/rdoc/RubyXL/CellConvenienceMethods.html +6 -457
- data/rdoc/RubyXL/CellExt.html +5 -14
- data/rdoc/RubyXL/CellSmartTag.html +5 -14
- data/rdoc/RubyXL/CellSmartTagProperty.html +5 -14
- data/rdoc/RubyXL/CellSmartTags.html +5 -14
- data/rdoc/RubyXL/CellStyle.html +5 -14
- data/rdoc/RubyXL/CellStyleXFs.html +8 -31
- data/rdoc/RubyXL/CellStyles.html +8 -31
- data/rdoc/RubyXL/CellValue.html +8 -31
- data/rdoc/RubyXL/CellWatch.html +5 -14
- data/rdoc/RubyXL/CellWatches.html +5 -14
- data/rdoc/RubyXL/CellXFs.html +8 -31
- data/rdoc/RubyXL/ChartColorsFile.html +5 -22
- data/rdoc/RubyXL/ChartFile.html +10 -44
- data/rdoc/RubyXL/ChartStyleFile.html +5 -22
- data/rdoc/RubyXL/ChartUserShapesFile.html +5 -22
- data/rdoc/RubyXL/Chartsheet.html +10 -61
- data/rdoc/RubyXL/ChartsheetPageSetup.html +5 -14
- data/rdoc/RubyXL/ChartsheetProperties.html +5 -14
- data/rdoc/RubyXL/ChartsheetProtection.html +5 -14
- data/rdoc/RubyXL/ChartsheetView.html +5 -14
- data/rdoc/RubyXL/ChartsheetViews.html +5 -14
- data/rdoc/RubyXL/Color.html +9 -37
- data/rdoc/RubyXL/ColorConvenienceClasses/HlsColor.html +8 -58
- data/rdoc/RubyXL/ColorConvenienceClasses/RgbColor.html +9 -73
- data/rdoc/RubyXL/ColorConvenienceClasses.html +3 -11
- data/rdoc/RubyXL/ColorConvenienceMethods.html +6 -28
- data/rdoc/RubyXL/ColorFilter.html +5 -14
- data/rdoc/RubyXL/ColorScale.html +5 -14
- data/rdoc/RubyXL/ColorSet.html +5 -14
- data/rdoc/RubyXL/Colors.html +5 -14
- data/rdoc/RubyXL/ColumnRange.html +8 -62
- data/rdoc/RubyXL/ColumnRanges.html +8 -70
- data/rdoc/RubyXL/Comment.html +5 -14
- data/rdoc/RubyXL/CommentList.html +5 -14
- data/rdoc/RubyXL/CommentsFile.html +8 -44
- data/rdoc/RubyXL/ConditionalFormatValue.html +5 -14
- data/rdoc/RubyXL/ConditionalFormatting.html +5 -14
- data/rdoc/RubyXL/ConditionalFormattingRule.html +5 -14
- data/rdoc/RubyXL/Connection.html +5 -14
- data/rdoc/RubyXL/ConnectionTable.html +5 -14
- data/rdoc/RubyXL/ConnectionTables.html +5 -14
- data/rdoc/RubyXL/ConnectionTextField.html +5 -14
- data/rdoc/RubyXL/ConnectionTextFields.html +5 -14
- data/rdoc/RubyXL/Connections.html +8 -39
- data/rdoc/RubyXL/ContentTypeDefault.html +5 -14
- data/rdoc/RubyXL/ContentTypeOverride.html +5 -14
- data/rdoc/RubyXL/ContentTypes.html +8 -52
- data/rdoc/RubyXL/ControlPropertiesFile.html +5 -22
- data/rdoc/RubyXL/CorePropertiesFile.html +8 -148
- data/rdoc/RubyXL/CustomColor.html +5 -14
- data/rdoc/RubyXL/CustomColorList.html +5 -14
- data/rdoc/RubyXL/CustomFilter.html +5 -14
- data/rdoc/RubyXL/CustomFilters.html +5 -14
- data/rdoc/RubyXL/CustomGeometry.html +5 -14
- data/rdoc/RubyXL/CustomProperties.html +5 -14
- data/rdoc/RubyXL/CustomPropertiesFile.html +5 -22
- data/rdoc/RubyXL/CustomProperty.html +5 -14
- data/rdoc/RubyXL/CustomPropertyFile.html +5 -22
- data/rdoc/RubyXL/CustomSheetView.html +5 -14
- data/rdoc/RubyXL/CustomSheetViews.html +5 -14
- data/rdoc/RubyXL/CustomWorkbookView.html +5 -14
- data/rdoc/RubyXL/CustomWorkbookViews.html +5 -14
- data/rdoc/RubyXL/CustomXMLFile.html +5 -19
- data/rdoc/RubyXL/DXF.html +5 -14
- data/rdoc/RubyXL/DXFs.html +5 -14
- data/rdoc/RubyXL/DataBar.html +5 -14
- data/rdoc/RubyXL/DataConsolidate.html +5 -14
- data/rdoc/RubyXL/DataConsolidationReference.html +5 -14
- data/rdoc/RubyXL/DataConsolidationReferences.html +5 -14
- data/rdoc/RubyXL/DataType.html +3 -34
- data/rdoc/RubyXL/DataValidation.html +5 -14
- data/rdoc/RubyXL/DataValidations.html +5 -14
- data/rdoc/RubyXL/DateGroupItem.html +5 -14
- data/rdoc/RubyXL/DefinedName.html +5 -14
- data/rdoc/RubyXL/DefinedNameExt.html +5 -14
- data/rdoc/RubyXL/DefinedNames.html +5 -14
- data/rdoc/RubyXL/DefinedNamesExt.html +5 -14
- data/rdoc/RubyXL/DocumentPropertiesFile.html +8 -57
- data/rdoc/RubyXL/DrawingFile.html +10 -44
- data/rdoc/RubyXL/DynamicFilter.html +5 -14
- data/rdoc/RubyXL/EmbeddedControl.html +5 -14
- data/rdoc/RubyXL/EmbeddedControls.html +5 -14
- data/rdoc/RubyXL/Extension.html +5 -14
- data/rdoc/RubyXL/ExtensionStorageArea.html +5 -14
- data/rdoc/RubyXL/Extents.html +5 -14
- data/rdoc/RubyXL/ExternalBook.html +5 -14
- data/rdoc/RubyXL/ExternalLinksFile.html +11 -45
- data/rdoc/RubyXL/ExternalReference.html +5 -14
- data/rdoc/RubyXL/ExternalReferences.html +5 -14
- data/rdoc/RubyXL/ExtraColorSchemeList.html +5 -14
- data/rdoc/RubyXL/FieldItem.html +5 -14
- data/rdoc/RubyXL/FileRecoveryProperties.html +5 -14
- data/rdoc/RubyXL/FileSharing.html +5 -14
- data/rdoc/RubyXL/FileVersion.html +5 -14
- data/rdoc/RubyXL/Fill.html +8 -31
- data/rdoc/RubyXL/Fills.html +8 -31
- data/rdoc/RubyXL/FilterContainer.html +5 -14
- data/rdoc/RubyXL/FloatNode.html +5 -14
- data/rdoc/RubyXL/FloatValue.html +5 -14
- data/rdoc/RubyXL/Font.html +9 -37
- data/rdoc/RubyXL/FontConvenienceMethods.html +7 -198
- data/rdoc/RubyXL/FontScheme.html +5 -14
- data/rdoc/RubyXL/Fonts.html +8 -31
- data/rdoc/RubyXL/Formula.html +5 -14
- data/rdoc/RubyXL/FunctionGroup.html +5 -14
- data/rdoc/RubyXL/FunctionGroups.html +5 -14
- data/rdoc/RubyXL/GenericStorageObject.html +9 -75
- data/rdoc/RubyXL/GradientFill.html +5 -14
- data/rdoc/RubyXL/HeaderFooterSettings.html +5 -14
- data/rdoc/RubyXL/Hyperlink.html +5 -14
- data/rdoc/RubyXL/HyperlinkRelFile.html +5 -19
- data/rdoc/RubyXL/Hyperlinks.html +5 -14
- data/rdoc/RubyXL/IconFilter.html +5 -14
- data/rdoc/RubyXL/IconSet.html +5 -14
- data/rdoc/RubyXL/IgnoredError.html +5 -14
- data/rdoc/RubyXL/IgnoredErrors.html +5 -14
- data/rdoc/RubyXL/IndexedColors.html +5 -14
- data/rdoc/RubyXL/InputCells.html +5 -14
- data/rdoc/RubyXL/IntegerNode.html +5 -14
- data/rdoc/RubyXL/IntegerValue.html +5 -14
- data/rdoc/RubyXL/LegacyCell.html +6 -28
- data/rdoc/RubyXL/LegacyWorksheet.html +9 -88
- data/rdoc/RubyXL/MRUColors.html +5 -14
- data/rdoc/RubyXL/MacrosFile.html +5 -22
- data/rdoc/RubyXL/MergedCell.html +5 -14
- data/rdoc/RubyXL/MergedCells.html +5 -14
- data/rdoc/RubyXL/NumFmt.html +5 -14
- data/rdoc/RubyXL/NumberFormat.html +8 -31
- data/rdoc/RubyXL/NumberFormats.html +8 -36
- data/rdoc/RubyXL/OLEObject.html +5 -14
- data/rdoc/RubyXL/OLEObjectFile.html +5 -22
- data/rdoc/RubyXL/OLEObjects.html +5 -14
- data/rdoc/RubyXL/OLESize.html +5 -14
- data/rdoc/RubyXL/OOXMLContainerObject.html +19 -116
- data/rdoc/RubyXL/OOXMLIgnored.html +9 -46
- data/rdoc/RubyXL/OOXMLObject.html +8 -20
- data/rdoc/RubyXL/OOXMLObjectClassMethods.html +34 -86
- data/rdoc/RubyXL/OOXMLObjectInstanceMethods.html +20 -143
- data/rdoc/RubyXL/OOXMLRelationshipsFile.html +10 -169
- data/rdoc/RubyXL/OOXMLTopLevelObject.html +15 -104
- data/rdoc/RubyXL/OdbcOleDbProperties.html +5 -14
- data/rdoc/RubyXL/Offset.html +5 -14
- data/rdoc/RubyXL/OlapProperties.html +5 -14
- 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 +5 -14
- data/rdoc/RubyXL/PageMargins.html +5 -14
- data/rdoc/RubyXL/PageSetup.html +5 -14
- data/rdoc/RubyXL/PageSetupProperties.html +5 -14
- data/rdoc/RubyXL/Pane.html +5 -14
- data/rdoc/RubyXL/Parser.html +8 -44
- data/rdoc/RubyXL/PatternFill.html +5 -14
- data/rdoc/RubyXL/PhoneticProperties.html +5 -14
- data/rdoc/RubyXL/PhoneticRun.html +5 -14
- data/rdoc/RubyXL/PivotArea.html +5 -14
- data/rdoc/RubyXL/PivotCache.html +5 -14
- data/rdoc/RubyXL/PivotCacheDefinitionFile.html +7 -27
- data/rdoc/RubyXL/PivotCacheRecordsFile.html +5 -22
- data/rdoc/RubyXL/PivotCaches.html +5 -14
- data/rdoc/RubyXL/PivotReference.html +5 -14
- data/rdoc/RubyXL/PivotReferences.html +5 -14
- data/rdoc/RubyXL/PivotTableFile.html +7 -27
- data/rdoc/RubyXL/PivotTableSelection.html +5 -14
- data/rdoc/RubyXL/PresetGeometry.html +5 -14
- data/rdoc/RubyXL/PrintOptions.html +5 -14
- data/rdoc/RubyXL/PrinterSettingsFile.html +5 -22
- data/rdoc/RubyXL/ProtectedRange.html +5 -14
- data/rdoc/RubyXL/ProtectedRanges.html +5 -14
- data/rdoc/RubyXL/Protection.html +5 -14
- data/rdoc/RubyXL/QueryParameter.html +5 -14
- data/rdoc/RubyXL/QueryParameters.html +5 -14
- data/rdoc/RubyXL/QueryTable.html +10 -44
- data/rdoc/RubyXL/QueryTableDeletedField.html +5 -14
- data/rdoc/RubyXL/QueryTableDeletedFields.html +5 -14
- data/rdoc/RubyXL/QueryTableField.html +5 -14
- data/rdoc/RubyXL/QueryTableFields.html +5 -14
- data/rdoc/RubyXL/QueryTableRefresh.html +5 -14
- data/rdoc/RubyXL/RID.html +5 -14
- data/rdoc/RubyXL/RawOOXML.html +9 -51
- data/rdoc/RubyXL/Reference.html +11 -197
- data/rdoc/RubyXL/Relationship.html +5 -14
- data/rdoc/RubyXL/RelationshipSupport/ClassMehods.html +6 -28
- data/rdoc/RubyXL/RelationshipSupport.html +9 -108
- data/rdoc/RubyXL/RevisionPointer.html +5 -14
- data/rdoc/RubyXL/RichText.html +10 -32
- data/rdoc/RubyXL/RichTextRun.html +8 -31
- data/rdoc/RubyXL/Row.html +17 -154
- data/rdoc/RubyXL/RowExt.html +5 -14
- data/rdoc/RubyXL/RunProperties.html +5 -14
- data/rdoc/RubyXL/Scenario.html +5 -14
- data/rdoc/RubyXL/Scenarios.html +5 -14
- data/rdoc/RubyXL/Selection.html +8 -31
- data/rdoc/RubyXL/ShapeGuide.html +5 -14
- data/rdoc/RubyXL/ShapeTextRectangle.html +5 -14
- data/rdoc/RubyXL/SharedStringsTable.html +9 -121
- data/rdoc/RubyXL/Sheet.html +5 -14
- data/rdoc/RubyXL/SheetCalculationProperties.html +5 -14
- data/rdoc/RubyXL/SheetData.html +10 -46
- data/rdoc/RubyXL/SheetDataExt.html +5 -14
- data/rdoc/RubyXL/SheetDataSet.html +5 -14
- data/rdoc/RubyXL/SheetName.html +5 -14
- data/rdoc/RubyXL/SheetNames.html +5 -14
- data/rdoc/RubyXL/Sheets.html +5 -14
- data/rdoc/RubyXL/SlicerCacheFile.html +5 -22
- data/rdoc/RubyXL/SlicerFile.html +5 -22
- data/rdoc/RubyXL/SmartTagProperties.html +5 -14
- data/rdoc/RubyXL/SmartTagType.html +5 -14
- data/rdoc/RubyXL/SmartTagTypes.html +5 -14
- data/rdoc/RubyXL/SmartTags.html +5 -14
- data/rdoc/RubyXL/SortCondition.html +5 -14
- data/rdoc/RubyXL/SortState.html +5 -14
- data/rdoc/RubyXL/Sqref.html +11 -48
- data/rdoc/RubyXL/Stop.html +5 -14
- data/rdoc/RubyXL/StringNode.html +5 -14
- data/rdoc/RubyXL/StringNodeW3C.html +9 -46
- data/rdoc/RubyXL/StringValue.html +5 -14
- data/rdoc/RubyXL/Stylesheet.html +9 -94
- data/rdoc/RubyXL/TableFile.html +5 -22
- data/rdoc/RubyXL/TableParts.html +5 -14
- data/rdoc/RubyXL/TableStyle.html +5 -14
- data/rdoc/RubyXL/TableStyles.html +5 -14
- data/rdoc/RubyXL/Text.html +8 -52
- data/rdoc/RubyXL/TextImportSettings.html +5 -14
- data/rdoc/RubyXL/Theme.html +9 -67
- data/rdoc/RubyXL/ThemeElements.html +5 -14
- data/rdoc/RubyXL/ThumbnailFile.html +5 -22
- data/rdoc/RubyXL/Top10.html +5 -14
- data/rdoc/RubyXL/VMLDrawingFile.html +8 -28
- data/rdoc/RubyXL/Variant.html +5 -14
- data/rdoc/RubyXL/Vector.html +8 -31
- data/rdoc/RubyXL/VectorValue.html +5 -14
- data/rdoc/RubyXL/VisualProperties.html +5 -14
- data/rdoc/RubyXL/WebPublishObject.html +5 -14
- data/rdoc/RubyXL/WebPublishObjects.html +5 -14
- data/rdoc/RubyXL/WebPublishingItem.html +5 -14
- data/rdoc/RubyXL/WebPublishingItems.html +5 -14
- data/rdoc/RubyXL/WebPublishingProperties.html +5 -14
- data/rdoc/RubyXL/WebQueryProperties.html +5 -14
- data/rdoc/RubyXL/Workbook.html +35 -460
- data/rdoc/RubyXL/WorkbookConvenienceMethods.html +7 -224
- data/rdoc/RubyXL/WorkbookProperties.html +5 -14
- data/rdoc/RubyXL/WorkbookProtection.html +5 -14
- data/rdoc/RubyXL/WorkbookRoot.html +11 -101
- data/rdoc/RubyXL/WorkbookView.html +5 -14
- data/rdoc/RubyXL/WorkbookViews.html +5 -14
- data/rdoc/RubyXL/Worksheet.html +11 -132
- data/rdoc/RubyXL/WorksheetConvenienceMethods.html +138 -1002
- data/rdoc/RubyXL/WorksheetDimensions.html +5 -14
- data/rdoc/RubyXL/WorksheetFormatProperties.html +5 -14
- data/rdoc/RubyXL/WorksheetProperties.html +5 -14
- data/rdoc/RubyXL/WorksheetProtection.html +5 -14
- data/rdoc/RubyXL/WorksheetView.html +5 -14
- data/rdoc/RubyXL/WorksheetViews.html +5 -14
- data/rdoc/RubyXL/XF.html +5 -14
- data/rdoc/RubyXL.html +6 -321
- data/rdoc/created.rid +16 -16
- data/rdoc/css/rdoc.css +21 -1
- data/rdoc/fonts/SourceCodePro-Bold.ttf +0 -0
- data/rdoc/fonts/SourceCodePro-Regular.ttf +0 -0
- data/rdoc/index.html +8 -391
- data/rdoc/js/navigation.js.gz +0 -0
- 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 +18 -813
- data/rubyXL.gemspec +11 -8
- data/spec/lib/cell_spec.rb +18 -0
- data/spec/lib/worksheet_spec.rb +301 -0
- metadata +7 -4
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 116ee9428a4b233645c4b8fc1d33c0589158230b8a070a274e2dfcbf5c4599cb
|
4
|
+
data.tar.gz: c297883a5589040468eed44560482569452c953266f46877828d85d3a2b45828
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: f508111555352f1868242db8491675d4aee3d1da93212049ae08db937f89857e29f15ca76fd985aca300d8400deda9b7a8032cbc5c0f0ec903121fb1cabbbbed
|
7
|
+
data.tar.gz: ddd0250526862e617effdb282ee3361a0c81c662841a16c207dabc8d4a0d41405693b92c1187685ef66d71b8b9cf5899ffa635f63531daa482597c38ec4fe20f
|
data/.circleci/config.yml
CHANGED
@@ -7,7 +7,7 @@ jobs:
|
|
7
7
|
build:
|
8
8
|
docker:
|
9
9
|
# specify the version you desire here
|
10
|
-
- image: circleci/ruby:2.
|
10
|
+
- image: circleci/ruby:2.6.6-buster
|
11
11
|
|
12
12
|
# Specify service dependencies here if necessary
|
13
13
|
# CircleCI maintains a library of pre-built images
|
@@ -29,6 +29,7 @@ jobs:
|
|
29
29
|
- run:
|
30
30
|
name: install dependencies
|
31
31
|
command: |
|
32
|
+
gem install bundler
|
32
33
|
bundle install --jobs=4 --retry=3 --path vendor/bundle
|
33
34
|
|
34
35
|
- save_cache:
|
data/Gemfile
CHANGED
data/Gemfile.lock
CHANGED
@@ -1,77 +1,109 @@
|
|
1
1
|
GEM
|
2
2
|
remote: http://rubygems.org/
|
3
3
|
specs:
|
4
|
-
addressable (2.
|
4
|
+
addressable (2.8.0)
|
5
|
+
public_suffix (>= 2.0.2, < 5.0)
|
5
6
|
builder (3.2.4)
|
6
7
|
descendants_tracker (0.0.4)
|
7
8
|
thread_safe (~> 0.3, >= 0.3.1)
|
8
|
-
diff-lcs (1.
|
9
|
-
docile (1.
|
10
|
-
faraday (
|
9
|
+
diff-lcs (1.5.0)
|
10
|
+
docile (1.4.0)
|
11
|
+
faraday (1.9.3)
|
12
|
+
faraday-em_http (~> 1.0)
|
13
|
+
faraday-em_synchrony (~> 1.0)
|
14
|
+
faraday-excon (~> 1.1)
|
15
|
+
faraday-httpclient (~> 1.0)
|
16
|
+
faraday-multipart (~> 1.0)
|
17
|
+
faraday-net_http (~> 1.0)
|
18
|
+
faraday-net_http_persistent (~> 1.0)
|
19
|
+
faraday-patron (~> 1.0)
|
20
|
+
faraday-rack (~> 1.0)
|
21
|
+
faraday-retry (~> 1.0)
|
22
|
+
ruby2_keywords (>= 0.0.4)
|
23
|
+
faraday-em_http (1.0.0)
|
24
|
+
faraday-em_synchrony (1.0.0)
|
25
|
+
faraday-excon (1.1.0)
|
26
|
+
faraday-httpclient (1.0.1)
|
27
|
+
faraday-multipart (1.0.3)
|
11
28
|
multipart-post (>= 1.2, < 3)
|
12
|
-
|
29
|
+
faraday-net_http (1.0.1)
|
30
|
+
faraday-net_http_persistent (1.2.0)
|
31
|
+
faraday-patron (1.0.0)
|
32
|
+
faraday-rack (1.0.0)
|
33
|
+
faraday-retry (1.0.3)
|
34
|
+
git (1.10.2)
|
13
35
|
rchardet (~> 1.8)
|
14
|
-
github_api (0.
|
15
|
-
addressable (~> 2.4
|
36
|
+
github_api (0.19.0)
|
37
|
+
addressable (~> 2.4)
|
16
38
|
descendants_tracker (~> 0.0.4)
|
17
|
-
faraday (
|
18
|
-
hashie (>= 3.
|
19
|
-
mime-types (>= 1.16, < 3.0)
|
39
|
+
faraday (>= 0.8, < 2)
|
40
|
+
hashie (~> 3.5, >= 3.5.2)
|
20
41
|
oauth2 (~> 1.0)
|
21
|
-
hashie (
|
42
|
+
hashie (3.6.0)
|
22
43
|
highline (2.0.3)
|
23
|
-
|
44
|
+
juwelier (2.4.9)
|
24
45
|
builder
|
25
46
|
bundler
|
26
|
-
git
|
27
|
-
github_api
|
28
|
-
highline
|
29
|
-
|
47
|
+
git
|
48
|
+
github_api
|
49
|
+
highline
|
50
|
+
kamelcase (~> 0)
|
51
|
+
nokogiri
|
30
52
|
psych
|
31
53
|
rake
|
32
54
|
rdoc
|
33
55
|
semver2
|
34
|
-
jwt (2.
|
35
|
-
|
36
|
-
|
56
|
+
jwt (2.3.0)
|
57
|
+
kamelcase (0.0.2)
|
58
|
+
semver2 (~> 3)
|
59
|
+
mini_portile2 (2.7.1)
|
37
60
|
multi_json (1.15.0)
|
38
61
|
multi_xml (0.6.0)
|
39
62
|
multipart-post (2.1.1)
|
40
|
-
nokogiri (1.
|
41
|
-
mini_portile2 (~> 2.
|
42
|
-
|
63
|
+
nokogiri (1.13.1)
|
64
|
+
mini_portile2 (~> 2.7.0)
|
65
|
+
racc (~> 1.4)
|
66
|
+
oauth2 (1.4.7)
|
43
67
|
faraday (>= 0.8, < 2.0)
|
44
68
|
jwt (>= 1.0, < 3.0)
|
45
69
|
multi_json (~> 1.3)
|
46
70
|
multi_xml (~> 0.5)
|
47
71
|
rack (>= 1.2, < 3)
|
48
|
-
psych (
|
72
|
+
psych (4.0.3)
|
73
|
+
stringio
|
74
|
+
public_suffix (4.0.6)
|
75
|
+
racc (1.6.0)
|
49
76
|
rack (2.2.3)
|
50
|
-
rake (13.0.
|
77
|
+
rake (13.0.6)
|
51
78
|
rchardet (1.8.0)
|
52
|
-
rdoc (6.
|
53
|
-
|
54
|
-
|
55
|
-
rspec-
|
56
|
-
rspec-
|
57
|
-
|
58
|
-
|
59
|
-
|
79
|
+
rdoc (6.4.0)
|
80
|
+
psych (>= 4.0.0)
|
81
|
+
rspec (3.10.0)
|
82
|
+
rspec-core (~> 3.10.0)
|
83
|
+
rspec-expectations (~> 3.10.0)
|
84
|
+
rspec-mocks (~> 3.10.0)
|
85
|
+
rspec-core (3.10.1)
|
86
|
+
rspec-support (~> 3.10.0)
|
87
|
+
rspec-expectations (3.10.1)
|
60
88
|
diff-lcs (>= 1.2.0, < 2.0)
|
61
|
-
rspec-support (~> 3.
|
62
|
-
rspec-mocks (3.
|
89
|
+
rspec-support (~> 3.10.0)
|
90
|
+
rspec-mocks (3.10.2)
|
63
91
|
diff-lcs (>= 1.2.0, < 2.0)
|
64
|
-
rspec-support (~> 3.
|
65
|
-
rspec-support (3.
|
66
|
-
rspec_junit_formatter (0.
|
92
|
+
rspec-support (~> 3.10.0)
|
93
|
+
rspec-support (3.10.3)
|
94
|
+
rspec_junit_formatter (0.5.1)
|
67
95
|
rspec-core (>= 2, < 4, != 2.12.0)
|
68
|
-
ruby-prof (1.4.
|
69
|
-
|
96
|
+
ruby-prof (1.4.3)
|
97
|
+
ruby2_keywords (0.0.5)
|
98
|
+
rubyzip (2.3.2)
|
70
99
|
semver2 (3.4.2)
|
71
|
-
simplecov (0.
|
100
|
+
simplecov (0.21.2)
|
72
101
|
docile (~> 1.1)
|
73
102
|
simplecov-html (~> 0.11)
|
74
|
-
|
103
|
+
simplecov_json_formatter (~> 0.1)
|
104
|
+
simplecov-html (0.12.3)
|
105
|
+
simplecov_json_formatter (0.1.3)
|
106
|
+
stringio (3.0.1)
|
75
107
|
thread_safe (0.3.6)
|
76
108
|
|
77
109
|
PLATFORMS
|
@@ -79,7 +111,7 @@ PLATFORMS
|
|
79
111
|
|
80
112
|
DEPENDENCIES
|
81
113
|
bundler
|
82
|
-
|
114
|
+
juwelier
|
83
115
|
nokogiri (>= 1.10.8)
|
84
116
|
rake
|
85
117
|
rspec
|
@@ -89,4 +121,4 @@ DEPENDENCIES
|
|
89
121
|
simplecov
|
90
122
|
|
91
123
|
BUNDLED WITH
|
92
|
-
2.
|
124
|
+
2.2.29
|
data/README.rdoc
CHANGED
@@ -55,6 +55,10 @@ Please note that row is a _sparse_ array of cells. Your code *must* expect that
|
|
55
55
|
worksheet.sheet_data[0][0] # Returns cell A1 in the worksheet
|
56
56
|
worksheet[0][0] # Returns cell A1 in the worksheet
|
57
57
|
|
58
|
+
cell = worksheet[0][0]
|
59
|
+
cell.value # Returns a properly converted value in the cell (if the file claims that the cell
|
60
|
+
# is holding a number, returns a respective Integer or Float, and so on).
|
61
|
+
|
58
62
|
==== Wrappers for accessing Cell properties
|
59
63
|
cell = workbook[0][0][0]
|
60
64
|
cell.is_struckthrough # Returns +true+ if the cell is struckthrough, other boolean properties have same syntax
|
@@ -229,11 +233,10 @@ It can also operate on +StringIO+ objects, thus eliminating the need to save the
|
|
229
233
|
|
230
234
|
RubyXL.class_variable_set(:@@suppress_warnings, true)
|
231
235
|
|
232
|
-
== Data validation ("dropdown list")
|
236
|
+
== Data validation (colloquially referred to as "dropdown list")
|
233
237
|
|
234
238
|
worksheet.add_validation_list("A1", [ "value1", "value2" ])
|
235
239
|
|
236
|
-
|
237
240
|
== For more information
|
238
241
|
Take a look at the files in spec/lib/ for rspecs on most methods
|
239
242
|
|
@@ -249,5 +252,5 @@ Take a look at the files in spec/lib/ for rspecs on most methods
|
|
249
252
|
|
250
253
|
== Copyright
|
251
254
|
|
252
|
-
Copyright (c) 2011 Vivek Bhagwat, 2013-
|
255
|
+
Copyright (c) 2011 Vivek Bhagwat, 2013-2021 Wesha.
|
253
256
|
See LICENSE.txt for further details.
|
data/Rakefile
CHANGED
@@ -10,8 +10,8 @@ rescue Bundler::BundlerError => e
|
|
10
10
|
exit e.status_code
|
11
11
|
end
|
12
12
|
|
13
|
-
require '
|
14
|
-
|
13
|
+
require 'juwelier'
|
14
|
+
Juwelier::Tasks.new do |gem|
|
15
15
|
# gem is a Gem::Specification... see http://docs.rubygems.org/read/chapter/20 for more options
|
16
16
|
gem.name = "rubyXL"
|
17
17
|
gem.homepage = "http://github.com/gilt/rubyXL"
|
@@ -23,7 +23,7 @@ Jeweler::Tasks.new do |gem|
|
|
23
23
|
# gem.required_ruby_version = '>2.1'
|
24
24
|
# dependencies defined in Gemfile
|
25
25
|
end
|
26
|
-
|
26
|
+
Juwelier::RubygemsDotOrgTasks.new
|
27
27
|
|
28
28
|
require 'rake/testtask'
|
29
29
|
Rake::TestTask.new(:test) do |test|
|
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
3.4.
|
1
|
+
3.4.20
|
@@ -253,7 +253,7 @@ module RubyXL
|
|
253
253
|
def add_hyperlink(l)
|
254
254
|
worksheet.hyperlinks ||= RubyXL::Hyperlinks.new
|
255
255
|
worksheet.hyperlinks << RubyXL::Hyperlink.new(:ref => self.r, :location => l)
|
256
|
-
#
|
256
|
+
# define_relationship
|
257
257
|
# define_attribute(:location, :string)
|
258
258
|
# define_attribute(:tooltip, :string)
|
259
259
|
# define_attribute(:display, :string)
|
@@ -106,6 +106,21 @@ module RubyXL
|
|
106
106
|
}
|
107
107
|
}
|
108
108
|
|
109
|
+
# Update merged cells for all rows below
|
110
|
+
if self.merged_cells then
|
111
|
+
merged_cells.each { |mc|
|
112
|
+
next if mc.ref.row_range.last < row_index
|
113
|
+
|
114
|
+
in_merged_cell = mc.ref.row_range.first < row_index
|
115
|
+
mc.ref = RubyXL::Reference.new(
|
116
|
+
mc.ref.row_range.first + (in_merged_cell ? 0 : 1),
|
117
|
+
mc.ref.row_range.last + 1,
|
118
|
+
mc.ref.col_range.first,
|
119
|
+
mc.ref.col_range.last,
|
120
|
+
)
|
121
|
+
}
|
122
|
+
end
|
123
|
+
|
109
124
|
return new_row
|
110
125
|
end
|
111
126
|
|
@@ -121,6 +136,23 @@ module RubyXL
|
|
121
136
|
row && row.cells.each{ |c| c.row -= 1 unless c.nil? }
|
122
137
|
}
|
123
138
|
|
139
|
+
# Update row number of merged cells
|
140
|
+
if self.merged_cells then
|
141
|
+
merged_cells.delete_if { |mc| mc.ref.row_range == (row_index..row_index) }
|
142
|
+
merged_cells.each { |mc|
|
143
|
+
next if mc.ref.row_range.last < row_index
|
144
|
+
|
145
|
+
in_merged_cell = mc.ref.row_range.first <= row_index
|
146
|
+
mc.ref = RubyXL::Reference.new(
|
147
|
+
mc.ref.row_range.first - (in_merged_cell ? 0 : 1),
|
148
|
+
mc.ref.row_range.last - 1,
|
149
|
+
mc.ref.col_range.first,
|
150
|
+
mc.ref.col_range.last,
|
151
|
+
)
|
152
|
+
}
|
153
|
+
merged_cells.delete_if { |mc| mc.ref.single_cell? }
|
154
|
+
end
|
155
|
+
|
124
156
|
return deleted
|
125
157
|
end
|
126
158
|
|
@@ -152,6 +184,21 @@ module RubyXL
|
|
152
184
|
|
153
185
|
cols.insert_column(column_index)
|
154
186
|
|
187
|
+
# Update merged cells for all rows below
|
188
|
+
if self.merged_cells then
|
189
|
+
merged_cells.each { |mc|
|
190
|
+
next if mc.ref.col_range.last < column_index
|
191
|
+
|
192
|
+
in_merged_cell = mc.ref.row_range.first < column_index
|
193
|
+
mc.ref = RubyXL::Reference.new(
|
194
|
+
mc.ref.row_range.first,
|
195
|
+
mc.ref.row_range.last,
|
196
|
+
mc.ref.col_range.first + (in_merged_cell ? 0 : 1),
|
197
|
+
mc.ref.col_range.last + 1,
|
198
|
+
)
|
199
|
+
}
|
200
|
+
end
|
201
|
+
|
155
202
|
# TODO: update column numbers
|
156
203
|
end
|
157
204
|
|
@@ -171,6 +218,24 @@ module RubyXL
|
|
171
218
|
}
|
172
219
|
|
173
220
|
cols.each { |range| range.delete_column(column_index) }
|
221
|
+
|
222
|
+
# Update row number of merged cells
|
223
|
+
return unless self.merged_cells
|
224
|
+
|
225
|
+
merged_cells.delete_if { |mc| mc.ref.col_range == (column_index..column_index) }
|
226
|
+
merged_cells.each { |mc|
|
227
|
+
next if mc.ref.col_range.last < column_index
|
228
|
+
|
229
|
+
in_merged_cell = mc.ref.col_range.first <= column_index
|
230
|
+
mc.ref = RubyXL::Reference.new(
|
231
|
+
mc.ref.row_range.first,
|
232
|
+
mc.ref.row_range.last,
|
233
|
+
mc.ref.col_range.first - (in_merged_cell ? 0 : 1),
|
234
|
+
mc.ref.col_range.last - 1,
|
235
|
+
)
|
236
|
+
}
|
237
|
+
|
238
|
+
merged_cells.delete_if { |mc| mc.ref.single_cell? }
|
174
239
|
end
|
175
240
|
|
176
241
|
def get_row_style(row_index)
|
@@ -34,7 +34,7 @@ module RubyXL
|
|
34
34
|
define_attribute(:horizontalDpi, :int, :default => 600)
|
35
35
|
define_attribute(:verticalDpi, :int, :default => 600)
|
36
36
|
define_attribute(:copies, :int, :default => 1)
|
37
|
-
|
37
|
+
define_relationship
|
38
38
|
define_element_name 'pageSetup'
|
39
39
|
end
|
40
40
|
|
@@ -61,16 +61,40 @@ module RubyXL
|
|
61
61
|
define_child_node(RubyXL::SheetNames)
|
62
62
|
define_child_node(RubyXL::DefinedNamesExt)
|
63
63
|
define_child_node(RubyXL::SheetDataSet)
|
64
|
-
|
64
|
+
define_relationship(:required => true)
|
65
65
|
define_element_name 'externalBook'
|
66
66
|
end
|
67
67
|
|
68
|
+
# http://www.datypic.com/sc/ooxml/e-ssml_oleItem-1.html
|
69
|
+
class OleItem < OOXMLObject
|
70
|
+
define_attribute(:name, :string, :required => true)
|
71
|
+
define_attribute(:icon, :bool)
|
72
|
+
define_attribute(:advise, :bool)
|
73
|
+
define_attribute(:preferPic, :bool)
|
74
|
+
define_element_name 'oleItem'
|
75
|
+
end
|
76
|
+
|
77
|
+
# http://www.datypic.com/sc/ooxml/e-ssml_oleItems-1.html
|
78
|
+
class OleItems < OOXMLContainerObject
|
79
|
+
define_child_node(RubyXL::OleItem)
|
80
|
+
define_element_name 'oleItems'
|
81
|
+
end
|
82
|
+
|
83
|
+
# http://www.datypic.com/sc/ooxml/t-ssml_CT_OleLink.html
|
84
|
+
class OleLink < OOXMLObject
|
85
|
+
define_child_node(RubyXL::OleItems, :collection => true)
|
86
|
+
define_relationship(:required => true)
|
87
|
+
define_attribute(:progId, :string, :required => true)
|
88
|
+
define_element_name 'oleLink'
|
89
|
+
end
|
90
|
+
|
68
91
|
class ExternalLinksFile < OOXMLTopLevelObject
|
69
92
|
CONTENT_TYPE = 'application/vnd.openxmlformats-officedocument.spreadsheetml.externalLink+xml'
|
70
93
|
REL_TYPE = 'http://schemas.openxmlformats.org/officeDocument/2006/relationships/externalLink'
|
71
94
|
|
72
95
|
include RubyXL::RelationshipSupport
|
73
96
|
define_child_node(RubyXL::ExternalBook)
|
97
|
+
define_child_node(RubyXL::OleLink)
|
74
98
|
|
75
99
|
define_element_name 'externalLink'
|
76
100
|
set_namespaces('http://schemas.openxmlformats.org/spreadsheetml/2006/main' => nil,
|
@@ -53,6 +53,11 @@ module RubyXL
|
|
53
53
|
self.send(:attr_accessor, attr_hash[:accessor]) unless attr_hash[:computed]
|
54
54
|
end
|
55
55
|
|
56
|
+
# Defines a `r:id` attribute
|
57
|
+
def define_relationship(extra_params = {})
|
58
|
+
define_attribute(:'r:id', :string, extra_params)
|
59
|
+
end
|
60
|
+
|
56
61
|
# Defines a child node of OOXML object.
|
57
62
|
# === Parameters
|
58
63
|
# * +klass+ - Class (descendant of RubyXL::OOXMLObject) of the child nodes. Child node objects will be produced by calling +parse+ method of that class.
|
@@ -71,7 +71,7 @@ module RubyXL
|
|
71
71
|
end
|
72
72
|
|
73
73
|
# Converts +row+ and +col+ zero-based indices to Excel-style cell reference
|
74
|
-
#
|
74
|
+
# <0> A...Z, AA...AZ, BA... ...ZZ, AAA... ...AZZ, BAA... ...XFD <16383>
|
75
75
|
def self.ind2ref(row = 0, col = 0)
|
76
76
|
str = ''
|
77
77
|
|
@@ -88,10 +88,7 @@ module RubyXL
|
|
88
88
|
# Converts Excel-style cell reference to +row+ and +col+ zero-based indices.
|
89
89
|
def self.ref2ind(str)
|
90
90
|
return [ -1, -1 ] unless str =~ /\A([A-Z]+)(\d+)\Z/
|
91
|
-
|
92
|
-
col = 0
|
93
|
-
$1.each_byte { |chr| col = col * 26 + (chr - 64) }
|
94
|
-
[ $2.to_i - 1, col - 1 ]
|
91
|
+
[ $2.to_i - 1, $1.each_byte.inject(0) { |col, chr| col * 26 + (chr - 64) } - 1 ]
|
95
92
|
end
|
96
93
|
|
97
94
|
end
|
@@ -113,7 +113,8 @@ module RubyXL
|
|
113
113
|
when RubyXL::DataType::INLINE_STRING then is.to_s
|
114
114
|
when RubyXL::DataType::RAW_STRING then raw_value
|
115
115
|
else
|
116
|
-
if
|
116
|
+
if is then is.to_s
|
117
|
+
elsif is_date? then workbook.num_to_date(r.to_f)
|
117
118
|
elsif r.is_a?(String) && (r =~ NUMBER_REGEXP) then # Numeric
|
118
119
|
if $1 != '' then r.to_f
|
119
120
|
else r.to_i
|
data/lib/rubyXL/objects/text.rb
CHANGED
@@ -85,7 +85,8 @@ module RubyXL
|
|
85
85
|
define_element_name 'is'
|
86
86
|
|
87
87
|
def to_s
|
88
|
-
|
88
|
+
# `dup` here unfreezes the string since it's not a constant but initial value
|
89
|
+
str = if t.nil? then ''.dup else t.to_s end
|
89
90
|
r && r.each { |rtr| str << rtr.to_s if rtr }
|
90
91
|
str
|
91
92
|
end
|
data/lib/rubyXL/objects/theme.rb
CHANGED
@@ -1164,7 +1164,7 @@ module RubyXL
|
|
1164
1164
|
class CT_Hyperlink < OOXMLObject
|
1165
1165
|
define_child_node(RubyXL::CT_EmbeddedWAVAudioFile)
|
1166
1166
|
define_child_node(RubyXL::AExtensionStorageArea)
|
1167
|
-
|
1167
|
+
define_relationship
|
1168
1168
|
define_attribute(:invalidUrl, :string, :default => '')
|
1169
1169
|
define_attribute(:action, :string, :default => '')
|
1170
1170
|
define_attribute(:tgtFrame, :string, :default => '')
|
@@ -98,7 +98,7 @@ module RubyXL
|
|
98
98
|
define_attribute(:name, :string, :required => true)
|
99
99
|
define_attribute(:sheetId, :int, :required => true)
|
100
100
|
define_attribute(:state, RubyXL::ST_Visibility, :default => 'visible')
|
101
|
-
|
101
|
+
define_relationship(:required => true)
|
102
102
|
define_element_name 'sheet'
|
103
103
|
end
|
104
104
|
|
@@ -110,7 +110,7 @@ module RubyXL
|
|
110
110
|
|
111
111
|
# http://www.datypic.com/sc/ooxml/e-ssml_externalReference-1.html
|
112
112
|
class ExternalReference < OOXMLObject
|
113
|
-
|
113
|
+
define_relationship(:required => true)
|
114
114
|
define_element_name 'externalReference'
|
115
115
|
end
|
116
116
|
|
@@ -153,7 +153,7 @@ module RubyXL
|
|
153
153
|
# http://www.datypic.com/sc/ooxml/e-ssml_pivotCache-1.html
|
154
154
|
class PivotCache < OOXMLObject
|
155
155
|
define_attribute(:cacheId, :int, :required => true)
|
156
|
-
|
156
|
+
define_relationship(:required => true)
|
157
157
|
define_element_name 'pivotCache'
|
158
158
|
end
|
159
159
|
|
@@ -427,12 +427,15 @@ module RubyXL
|
|
427
427
|
end
|
428
428
|
|
429
429
|
def num_to_date(num)
|
430
|
+
return nil if num.nil?
|
431
|
+
|
430
432
|
# Bug-for-bug Excel compatibility (https://support.microsoft.com/kb/214058/)
|
431
|
-
if num
|
433
|
+
if num < MARCH_1_1900 then
|
432
434
|
num += 1 unless workbook_properties && workbook_properties.date1904
|
433
435
|
end
|
434
436
|
|
435
|
-
|
437
|
+
dateparts = num.divmod(1)
|
438
|
+
base_date + (dateparts[0] + (dateparts[1] * 86400).round(6) / 86400)
|
436
439
|
end
|
437
440
|
|
438
441
|
include Enumerable
|
@@ -88,7 +88,7 @@ module RubyXL
|
|
88
88
|
define_attribute(:horizontalDpi, :int, :default => 600)
|
89
89
|
define_attribute(:verticalDpi, :int, :default => 600)
|
90
90
|
define_attribute(:copies, :int, :default => 1)
|
91
|
-
|
91
|
+
define_relationship
|
92
92
|
define_element_name 'pageSetup'
|
93
93
|
end
|
94
94
|
|
@@ -302,7 +302,7 @@ module RubyXL
|
|
302
302
|
# http://www.datypic.com/sc/ooxml/e-ssml_hyperlink-1.html
|
303
303
|
class Hyperlink < OOXMLObject
|
304
304
|
define_attribute(:ref, :ref, :required => true)
|
305
|
-
|
305
|
+
define_relationship
|
306
306
|
define_attribute(:location, :string)
|
307
307
|
define_attribute(:tooltip, :string)
|
308
308
|
define_attribute(:display, :string)
|
@@ -323,7 +323,7 @@ module RubyXL
|
|
323
323
|
define_attribute(:oleUpdate, RubyXL::ST_OleUpdate)
|
324
324
|
define_attribute(:autoLoad, :bool, :default => false)
|
325
325
|
define_attribute(:shapeId, :int, :required => true)
|
326
|
-
|
326
|
+
define_relationship
|
327
327
|
define_element_name 'oleObject'
|
328
328
|
end
|
329
329
|
|
@@ -339,7 +339,7 @@ module RubyXL
|
|
339
339
|
define_attribute(:ref, :ref)
|
340
340
|
define_attribute(:name, :string)
|
341
341
|
define_attribute(:sheet, :string)
|
342
|
-
|
342
|
+
define_relationship
|
343
343
|
define_element_name 'dataRef'
|
344
344
|
end
|
345
345
|
|
@@ -434,7 +434,7 @@ module RubyXL
|
|
434
434
|
# http://www.datypic.com/sc/ooxml/e-ssml_control-1.html
|
435
435
|
class EmbeddedControl < OOXMLObject
|
436
436
|
define_attribute(:shapeId, :int, :required => true)
|
437
|
-
|
437
|
+
define_relationship(:required => true)
|
438
438
|
define_attribute(:name, :string)
|
439
439
|
define_element_name 'control'
|
440
440
|
end
|
@@ -490,7 +490,7 @@ module RubyXL
|
|
490
490
|
# http://www.datypic.com/sc/ooxml/e-ssml_customPr-1.html
|
491
491
|
class CustomProperty < OOXMLObject
|
492
492
|
define_attribute(:name, :string, :required => true)
|
493
|
-
|
493
|
+
define_relationship(:required => true)
|
494
494
|
define_element_name 'customPr'
|
495
495
|
end
|
496
496
|
|
@@ -572,7 +572,7 @@ module RubyXL
|
|
572
572
|
define_attribute(:previousRow, :uint, :default => 0)
|
573
573
|
define_attribute(:previousCol, :uint, :default => 0)
|
574
574
|
define_attribute(:click, :uint, :default => 0)
|
575
|
-
|
575
|
+
define_relationship
|
576
576
|
define_child_node(RubyXL::PivotArea)
|
577
577
|
define_element_name 'pivotSelection'
|
578
578
|
end
|